Sfoglia il codice sorgente

Generated 2015-01-01 for R-kvstore.

sdk-team 5 anni fa
parent
commit
813a89f8fc
100 ha cambiato i file con 8692 aggiunte e 0 eliminazioni
  1. 5 0
      ChangeLog.txt
  2. 110 0
      services/r-kvstore/allocate_instance_public_connection.go
  3. 129 0
      services/r-kvstore/client.go
  4. 115 0
      services/r-kvstore/create_account.go
  5. 109 0
      services/r-kvstore/create_backup.go
  6. 108 0
      services/r-kvstore/create_cache_analysis_task.go
  7. 141 0
      services/r-kvstore/create_dedicated_instance.go
  8. 116 0
      services/r-kvstore/create_dedicated_user_cluster.go
  9. 152 0
      services/r-kvstore/create_instance.go
  10. 121 0
      services/r-kvstore/create_user_cluster_host.go
  11. 109 0
      services/r-kvstore/delete_account.go
  12. 110 0
      services/r-kvstore/delete_dedicated_instance.go
  13. 110 0
      services/r-kvstore/delete_dedicated_user_cluster.go
  14. 108 0
      services/r-kvstore/delete_instance.go
  15. 111 0
      services/r-kvstore/delete_user_cluster_host.go
  16. 110 0
      services/r-kvstore/describe_accounts.go
  17. 124 0
      services/r-kvstore/describe_audit_records.go
  18. 113 0
      services/r-kvstore/describe_available_resource.go
  19. 113 0
      services/r-kvstore/describe_backup_policy.go
  20. 118 0
      services/r-kvstore/describe_backups.go
  21. 119 0
      services/r-kvstore/describe_cache_analysis_report.go
  22. 118 0
      services/r-kvstore/describe_cache_analysis_report_list.go
  23. 110 0
      services/r-kvstore/describe_db_instance_net_info.go
  24. 113 0
      services/r-kvstore/describe_dedicated_user_cluster.go
  25. 114 0
      services/r-kvstore/describe_history_monitor_values.go
  26. 109 0
      services/r-kvstore/describe_instance_attribute.go
  27. 115 0
      services/r-kvstore/describe_instance_auto_renewal_attribute.go
  28. 112 0
      services/r-kvstore/describe_instance_ssl.go
  29. 135 0
      services/r-kvstore/describe_instances.go
  30. 111 0
      services/r-kvstore/describe_intranet_attribute.go
  31. 111 0
      services/r-kvstore/describe_logic_instance_topology.go
  32. 108 0
      services/r-kvstore/describe_monitor_items.go
  33. 113 0
      services/r-kvstore/describe_parameters.go
  34. 109 0
      services/r-kvstore/describe_regions.go
  35. 124 0
      services/r-kvstore/describe_running_log_records.go
  36. 109 0
      services/r-kvstore/describe_security_ips.go
  37. 127 0
      services/r-kvstore/describe_slow_log_records.go
  38. 117 0
      services/r-kvstore/describe_user_cluster_host.go
  39. 119 0
      services/r-kvstore/describe_user_cluster_host_instance.go
  40. 109 0
      services/r-kvstore/describe_zones.go
  41. 63 0
      services/r-kvstore/endpoint.go
  42. 111 0
      services/r-kvstore/flush_expire_keys.go
  43. 108 0
      services/r-kvstore/flush_instance.go
  44. 110 0
      services/r-kvstore/grant_account_privilege.go
  45. 118 0
      services/r-kvstore/list_tag_resources.go
  46. 111 0
      services/r-kvstore/migrate_to_other_zone.go
  47. 110 0
      services/r-kvstore/modify_account_description.go
  48. 110 0
      services/r-kvstore/modify_audit_log_config.go
  49. 111 0
      services/r-kvstore/modify_backup_policy.go
  50. 112 0
      services/r-kvstore/modify_db_instance_connection_string.go
  51. 113 0
      services/r-kvstore/modify_dedicated_instance_spec.go
  52. 116 0
      services/r-kvstore/modify_dedicated_user_cluster.go
  53. 110 0
      services/r-kvstore/modify_instance_attribute.go
  54. 110 0
      services/r-kvstore/modify_instance_auto_renewal_attribute.go
  55. 109 0
      services/r-kvstore/modify_instance_config.go
  56. 110 0
      services/r-kvstore/modify_instance_maintain_time.go
  57. 110 0
      services/r-kvstore/modify_instance_major_version.go
  58. 110 0
      services/r-kvstore/modify_instance_minor_version.go
  59. 112 0
      services/r-kvstore/modify_instance_net_expire_time.go
  60. 117 0
      services/r-kvstore/modify_instance_spec.go
  61. 111 0
      services/r-kvstore/modify_instance_ssl.go
  62. 109 0
      services/r-kvstore/modify_instance_vpc_auth_mode.go
  63. 108 0
      services/r-kvstore/modify_intranet_attribute.go
  64. 112 0
      services/r-kvstore/modify_security_ips.go
  65. 112 0
      services/r-kvstore/modify_user_cluster_host.go
  66. 109 0
      services/r-kvstore/release_instance_public_connection.go
  67. 118 0
      services/r-kvstore/renew_instance.go
  68. 112 0
      services/r-kvstore/replace_user_cluster_host.go
  69. 110 0
      services/r-kvstore/reset_account_password.go
  70. 111 0
      services/r-kvstore/restart_instance.go
  71. 111 0
      services/r-kvstore/restore_instance.go
  72. 27 0
      services/r-kvstore/struct_account.go
  73. 21 0
      services/r-kvstore/struct_accounts.go
  74. 22 0
      services/r-kvstore/struct_available_resource.go
  75. 21 0
      services/r-kvstore/struct_available_resources.go
  76. 26 0
      services/r-kvstore/struct_available_zone.go
  77. 21 0
      services/r-kvstore/struct_available_zones.go
  78. 33 0
      services/r-kvstore/struct_backup.go
  79. 21 0
      services/r-kvstore/struct_backups.go
  80. 30 0
      services/r-kvstore/struct_cluster_info.go
  81. 21 0
      services/r-kvstore/struct_cluster_items.go
  82. 21 0
      services/r-kvstore/struct_config_parameters.go
  83. 22 0
      services/r-kvstore/struct_daily_task.go
  84. 21 0
      services/r-kvstore/struct_daily_tasks.go
  85. 22 0
      services/r-kvstore/struct_database_privilege.go
  86. 21 0
      services/r-kvstore/struct_database_privileges.go
  87. 58 0
      services/r-kvstore/struct_db_instance_attribute.go
  88. 38 0
      services/r-kvstore/struct_host_info.go
  89. 21 0
      services/r-kvstore/struct_host_items.go
  90. 30 0
      services/r-kvstore/struct_instance_info.go
  91. 31 0
      services/r-kvstore/struct_instance_net_info.go
  92. 21 0
      services/r-kvstore/struct_instances_in_describe_instance_attribute.go
  93. 21 0
      services/r-kvstore/struct_instances_in_describe_instances.go
  94. 21 0
      services/r-kvstore/struct_instances_items.go
  95. 25 0
      services/r-kvstore/struct_item.go
  96. 21 0
      services/r-kvstore/struct_items_in_describe_audit_records.go
  97. 21 0
      services/r-kvstore/struct_items_in_describe_instance_auto_renewal_attribute.go
  98. 21 0
      services/r-kvstore/struct_items_in_describe_running_log_records.go
  99. 21 0
      services/r-kvstore/struct_items_in_describe_slow_log_records.go
  100. 54 0
      services/r-kvstore/struct_kv_store_instance.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2020-02-26 Version: v1.61.10
+- Generated 2015-01-01 for `R-kvstore`.
+- Generated 2015-01-01 for `R-kvstore`.
+- Add VpcCloudInstanceId for DescribeInstanceAttribute.
+
 2020-02-26 Version: v1.61.9
 - Generated 2019-03-07 for `Cloudauth`.
 - Add InitFaceVerify and DescribeFaceVerify API.

+ 110 - 0
services/r-kvstore/allocate_instance_public_connection.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// AllocateInstancePublicConnection invokes the r_kvstore.AllocateInstancePublicConnection API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/allocateinstancepublicconnection.html
+func (client *Client) AllocateInstancePublicConnection(request *AllocateInstancePublicConnectionRequest) (response *AllocateInstancePublicConnectionResponse, err error) {
+	response = CreateAllocateInstancePublicConnectionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AllocateInstancePublicConnectionWithChan invokes the r_kvstore.AllocateInstancePublicConnection API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/allocateinstancepublicconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AllocateInstancePublicConnectionWithChan(request *AllocateInstancePublicConnectionRequest) (<-chan *AllocateInstancePublicConnectionResponse, <-chan error) {
+	responseChan := make(chan *AllocateInstancePublicConnectionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AllocateInstancePublicConnection(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AllocateInstancePublicConnectionWithCallback invokes the r_kvstore.AllocateInstancePublicConnection API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/allocateinstancepublicconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AllocateInstancePublicConnectionWithCallback(request *AllocateInstancePublicConnectionRequest, callback func(response *AllocateInstancePublicConnectionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AllocateInstancePublicConnectionResponse
+		var err error
+		defer close(result)
+		response, err = client.AllocateInstancePublicConnection(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AllocateInstancePublicConnectionRequest is the request struct for api AllocateInstancePublicConnection
+type AllocateInstancePublicConnectionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ConnectionStringPrefix string           `position:"Query" name:"ConnectionStringPrefix"`
+	SecurityToken          string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount           string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId             string           `position:"Query" name:"InstanceId"`
+	Port                   string           `position:"Query" name:"Port"`
+}
+
+// AllocateInstancePublicConnectionResponse is the response struct for api AllocateInstancePublicConnection
+type AllocateInstancePublicConnectionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAllocateInstancePublicConnectionRequest creates a request to invoke AllocateInstancePublicConnection API
+func CreateAllocateInstancePublicConnectionRequest() (request *AllocateInstancePublicConnectionRequest) {
+	request = &AllocateInstancePublicConnectionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "AllocateInstancePublicConnection", "", "")
+	return
+}
+
+// CreateAllocateInstancePublicConnectionResponse creates a response to parse from AllocateInstancePublicConnection response
+func CreateAllocateInstancePublicConnectionResponse() (response *AllocateInstancePublicConnectionResponse) {
+	response = &AllocateInstancePublicConnectionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 129 - 0
services/r-kvstore/client.go

@@ -0,0 +1,129 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 (
+	"reflect"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// 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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
+	return
+}

+ 115 - 0
services/r-kvstore/create_account.go

@@ -0,0 +1,115 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateAccount invokes the r_kvstore.CreateAccount API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createaccount.html
+func (client *Client) CreateAccount(request *CreateAccountRequest) (response *CreateAccountResponse, err error) {
+	response = CreateCreateAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateAccountWithChan invokes the r_kvstore.CreateAccount API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAccountWithChan(request *CreateAccountRequest) (<-chan *CreateAccountResponse, <-chan error) {
+	responseChan := make(chan *CreateAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAccount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateAccountWithCallback invokes the r_kvstore.CreateAccount API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAccountWithCallback(request *CreateAccountRequest, callback func(response *CreateAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateAccountRequest is the request struct for api CreateAccount
+type CreateAccountRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AccountType          string           `position:"Query" name:"AccountType"`
+	AccountDescription   string           `position:"Query" name:"AccountDescription"`
+	AccountPrivilege     string           `position:"Query" name:"AccountPrivilege"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AccountPassword      string           `position:"Query" name:"AccountPassword"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// CreateAccountResponse is the response struct for api CreateAccount
+type CreateAccountResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	AcountName string `json:"AcountName" xml:"AcountName"`
+}
+
+// CreateCreateAccountRequest creates a request to invoke CreateAccount API
+func CreateCreateAccountRequest() (request *CreateAccountRequest) {
+	request = &CreateAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateAccount", "", "")
+	return
+}
+
+// CreateCreateAccountResponse creates a response to parse from CreateAccount response
+func CreateCreateAccountResponse() (response *CreateAccountResponse) {
+	response = &CreateAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/create_backup.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateBackup invokes the r_kvstore.CreateBackup API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createbackup.html
+func (client *Client) CreateBackup(request *CreateBackupRequest) (response *CreateBackupResponse, err error) {
+	response = CreateCreateBackupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateBackupWithChan invokes the r_kvstore.CreateBackup API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createbackup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateBackupWithChan(request *CreateBackupRequest) (<-chan *CreateBackupResponse, <-chan error) {
+	responseChan := make(chan *CreateBackupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateBackup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateBackupWithCallback invokes the r_kvstore.CreateBackup API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createbackup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateBackupWithCallback(request *CreateBackupRequest, callback func(response *CreateBackupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateBackupResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateBackup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateBackupRequest is the request struct for api CreateBackup
+type CreateBackupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// CreateBackupResponse is the response struct for api CreateBackup
+type CreateBackupResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	BackupJobID string `json:"BackupJobID" xml:"BackupJobID"`
+}
+
+// CreateCreateBackupRequest creates a request to invoke CreateBackup API
+func CreateCreateBackupRequest() (request *CreateBackupRequest) {
+	request = &CreateBackupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateBackup", "", "")
+	return
+}
+
+// CreateCreateBackupResponse creates a response to parse from CreateBackup response
+func CreateCreateBackupResponse() (response *CreateBackupResponse) {
+	response = &CreateBackupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/r-kvstore/create_cache_analysis_task.go

@@ -0,0 +1,108 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateCacheAnalysisTask invokes the r_kvstore.CreateCacheAnalysisTask API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createcacheanalysistask.html
+func (client *Client) CreateCacheAnalysisTask(request *CreateCacheAnalysisTaskRequest) (response *CreateCacheAnalysisTaskResponse, err error) {
+	response = CreateCreateCacheAnalysisTaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateCacheAnalysisTaskWithChan invokes the r_kvstore.CreateCacheAnalysisTask API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createcacheanalysistask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCacheAnalysisTaskWithChan(request *CreateCacheAnalysisTaskRequest) (<-chan *CreateCacheAnalysisTaskResponse, <-chan error) {
+	responseChan := make(chan *CreateCacheAnalysisTaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCacheAnalysisTask(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateCacheAnalysisTaskWithCallback invokes the r_kvstore.CreateCacheAnalysisTask API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createcacheanalysistask.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCacheAnalysisTaskWithCallback(request *CreateCacheAnalysisTaskRequest, callback func(response *CreateCacheAnalysisTaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateCacheAnalysisTaskResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCacheAnalysisTask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateCacheAnalysisTaskRequest is the request struct for api CreateCacheAnalysisTask
+type CreateCacheAnalysisTaskRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// CreateCacheAnalysisTaskResponse is the response struct for api CreateCacheAnalysisTask
+type CreateCacheAnalysisTaskResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateCacheAnalysisTaskRequest creates a request to invoke CreateCacheAnalysisTask API
+func CreateCreateCacheAnalysisTaskRequest() (request *CreateCacheAnalysisTaskRequest) {
+	request = &CreateCacheAnalysisTaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateCacheAnalysisTask", "", "")
+	return
+}
+
+// CreateCreateCacheAnalysisTaskResponse creates a response to parse from CreateCacheAnalysisTask response
+func CreateCreateCacheAnalysisTaskResponse() (response *CreateCacheAnalysisTaskResponse) {
+	response = &CreateCacheAnalysisTaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 141 - 0
services/r-kvstore/create_dedicated_instance.go

@@ -0,0 +1,141 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateDedicatedInstance invokes the r_kvstore.CreateDedicatedInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/creatededicatedinstance.html
+func (client *Client) CreateDedicatedInstance(request *CreateDedicatedInstanceRequest) (response *CreateDedicatedInstanceResponse, err error) {
+	response = CreateCreateDedicatedInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateDedicatedInstanceWithChan invokes the r_kvstore.CreateDedicatedInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/creatededicatedinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDedicatedInstanceWithChan(request *CreateDedicatedInstanceRequest) (<-chan *CreateDedicatedInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateDedicatedInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateDedicatedInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateDedicatedInstanceWithCallback invokes the r_kvstore.CreateDedicatedInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/creatededicatedinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDedicatedInstanceWithCallback(request *CreateDedicatedInstanceRequest, callback func(response *CreateDedicatedInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateDedicatedInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateDedicatedInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateDedicatedInstanceRequest is the request struct for api CreateDedicatedInstance
+type CreateDedicatedInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	NodeType             string           `position:"Query" name:"NodeType"`
+	NetworkType          string           `position:"Query" name:"NetworkType"`
+	EngineVersion        string           `position:"Query" name:"EngineVersion"`
+	InstanceClass        string           `position:"Query" name:"InstanceClass"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	Password             string           `position:"Query" name:"Password"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	SrcDBInstanceId      string           `position:"Query" name:"SrcDBInstanceId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	BackupId             string           `position:"Query" name:"BackupId"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VSwitchId            string           `position:"Query" name:"VSwitchId"`
+	PrivateIpAddress     string           `position:"Query" name:"PrivateIpAddress"`
+	InstanceName         string           `position:"Query" name:"InstanceName"`
+	VpcId                string           `position:"Query" name:"VpcId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+	Config               string           `position:"Query" name:"Config"`
+}
+
+// CreateDedicatedInstanceResponse is the response struct for api CreateDedicatedInstance
+type CreateDedicatedInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	InstanceId       string `json:"InstanceId" xml:"InstanceId"`
+	InstanceName     string `json:"InstanceName" xml:"InstanceName"`
+	ConnectionDomain string `json:"ConnectionDomain" xml:"ConnectionDomain"`
+	Port             int    `json:"Port" xml:"Port"`
+	UserName         string `json:"UserName" xml:"UserName"`
+	InstanceStatus   string `json:"InstanceStatus" xml:"InstanceStatus"`
+	RegionId         string `json:"RegionId" xml:"RegionId"`
+	Capacity         int64  `json:"Capacity" xml:"Capacity"`
+	QPS              string `json:"QPS" xml:"QPS"`
+	Bandwidth        int    `json:"Bandwidth" xml:"Bandwidth"`
+	Connections      int    `json:"Connections" xml:"Connections"`
+	ZoneId           string `json:"ZoneId" xml:"ZoneId"`
+	Config           string `json:"Config" xml:"Config"`
+	NodeType         string `json:"NodeType" xml:"NodeType"`
+	NetworkType      string `json:"NetworkType" xml:"NetworkType"`
+	VpcId            string `json:"VpcId" xml:"VpcId"`
+	VSwitchId        string `json:"VSwitchId" xml:"VSwitchId"`
+	PrivateIpAddr    string `json:"PrivateIpAddr" xml:"PrivateIpAddr"`
+}
+
+// CreateCreateDedicatedInstanceRequest creates a request to invoke CreateDedicatedInstance API
+func CreateCreateDedicatedInstanceRequest() (request *CreateDedicatedInstanceRequest) {
+	request = &CreateDedicatedInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateDedicatedInstance", "", "")
+	return
+}
+
+// CreateCreateDedicatedInstanceResponse creates a response to parse from CreateDedicatedInstance response
+func CreateCreateDedicatedInstanceResponse() (response *CreateDedicatedInstanceResponse) {
+	response = &CreateDedicatedInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/r-kvstore/create_dedicated_user_cluster.go

@@ -0,0 +1,116 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateDedicatedUserCluster invokes the r_kvstore.CreateDedicatedUserCluster API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/creatededicatedusercluster.html
+func (client *Client) CreateDedicatedUserCluster(request *CreateDedicatedUserClusterRequest) (response *CreateDedicatedUserClusterResponse, err error) {
+	response = CreateCreateDedicatedUserClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateDedicatedUserClusterWithChan invokes the r_kvstore.CreateDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/creatededicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDedicatedUserClusterWithChan(request *CreateDedicatedUserClusterRequest) (<-chan *CreateDedicatedUserClusterResponse, <-chan error) {
+	responseChan := make(chan *CreateDedicatedUserClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateDedicatedUserCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateDedicatedUserClusterWithCallback invokes the r_kvstore.CreateDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/creatededicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDedicatedUserClusterWithCallback(request *CreateDedicatedUserClusterRequest, callback func(response *CreateDedicatedUserClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateDedicatedUserClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateDedicatedUserCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateDedicatedUserClusterRequest is the request struct for api CreateDedicatedUserCluster
+type CreateDedicatedUserClusterRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClusterName               string           `position:"Query" name:"ClusterName"`
+	SecurityToken             string           `position:"Query" name:"SecurityToken"`
+	DiskOverAllocationRatio   requests.Integer `position:"Query" name:"DiskOverAllocationRatio"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
+	ClusterId                 string           `position:"Query" name:"ClusterId"`
+	MemoryOverAllocationRatio requests.Integer `position:"Query" name:"MemoryOverAllocationRatio"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
+	HostReplacePolicy         string           `position:"Query" name:"HostReplacePolicy"`
+	AllocationPolicy          string           `position:"Query" name:"AllocationPolicy"`
+	ZoneId                    string           `position:"Query" name:"ZoneId"`
+	CpuOverAllocationRatio    requests.Integer `position:"Query" name:"CpuOverAllocationRatio"`
+}
+
+// CreateDedicatedUserClusterResponse is the response struct for api CreateDedicatedUserCluster
+type CreateDedicatedUserClusterResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	ClusterId string `json:"ClusterId" xml:"ClusterId"`
+}
+
+// CreateCreateDedicatedUserClusterRequest creates a request to invoke CreateDedicatedUserCluster API
+func CreateCreateDedicatedUserClusterRequest() (request *CreateDedicatedUserClusterRequest) {
+	request = &CreateDedicatedUserClusterRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateDedicatedUserCluster", "", "")
+	return
+}
+
+// CreateCreateDedicatedUserClusterResponse creates a response to parse from CreateDedicatedUserCluster response
+func CreateCreateDedicatedUserClusterResponse() (response *CreateDedicatedUserClusterResponse) {
+	response = &CreateDedicatedUserClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 152 - 0
services/r-kvstore/create_instance.go

@@ -0,0 +1,152 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateInstance invokes the r_kvstore.CreateInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createinstance.html
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateInstanceWithChan invokes the r_kvstore.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateInstanceWithCallback invokes the r_kvstore.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateInstanceRequest is the request struct for api CreateInstance
+type CreateInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CouponNo             string           `position:"Query" name:"CouponNo"`
+	NetworkType          string           `position:"Query" name:"NetworkType"`
+	EngineVersion        string           `position:"Query" name:"EngineVersion"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	Password             string           `position:"Query" name:"Password"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	BusinessInfo         string           `position:"Query" name:"BusinessInfo"`
+	AutoRenewPeriod      string           `position:"Query" name:"AutoRenewPeriod"`
+	Period               string           `position:"Query" name:"Period"`
+	BackupId             string           `position:"Query" name:"BackupId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VSwitchId            string           `position:"Query" name:"VSwitchId"`
+	PrivateIpAddress     string           `position:"Query" name:"PrivateIpAddress"`
+	InstanceName         string           `position:"Query" name:"InstanceName"`
+	AutoRenew            string           `position:"Query" name:"AutoRenew"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+	NodeType             string           `position:"Query" name:"NodeType"`
+	AutoUseCoupon        string           `position:"Query" name:"AutoUseCoupon"`
+	InstanceClass        string           `position:"Query" name:"InstanceClass"`
+	Capacity             requests.Integer `position:"Query" name:"Capacity"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	RestoreTime          string           `position:"Query" name:"RestoreTime"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	SrcDBInstanceId      string           `position:"Query" name:"SrcDBInstanceId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	Token                string           `position:"Query" name:"Token"`
+	VpcId                string           `position:"Query" name:"VpcId"`
+	ChargeType           string           `position:"Query" name:"ChargeType"`
+	Config               string           `position:"Query" name:"Config"`
+}
+
+// CreateInstanceResponse is the response struct for api CreateInstance
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	InstanceId       string `json:"InstanceId" xml:"InstanceId"`
+	InstanceName     string `json:"InstanceName" xml:"InstanceName"`
+	ConnectionDomain string `json:"ConnectionDomain" xml:"ConnectionDomain"`
+	Port             int    `json:"Port" xml:"Port"`
+	UserName         string `json:"UserName" xml:"UserName"`
+	InstanceStatus   string `json:"InstanceStatus" xml:"InstanceStatus"`
+	RegionId         string `json:"RegionId" xml:"RegionId"`
+	Capacity         int64  `json:"Capacity" xml:"Capacity"`
+	QPS              int64  `json:"QPS" xml:"QPS"`
+	Bandwidth        int64  `json:"Bandwidth" xml:"Bandwidth"`
+	Connections      int64  `json:"Connections" xml:"Connections"`
+	ZoneId           string `json:"ZoneId" xml:"ZoneId"`
+	Config           string `json:"Config" xml:"Config"`
+	ChargeType       string `json:"ChargeType" xml:"ChargeType"`
+	EndTime          string `json:"EndTime" xml:"EndTime"`
+	NodeType         string `json:"NodeType" xml:"NodeType"`
+	NetworkType      string `json:"NetworkType" xml:"NetworkType"`
+	VpcId            string `json:"VpcId" xml:"VpcId"`
+	VSwitchId        string `json:"VSwitchId" xml:"VSwitchId"`
+	PrivateIpAddr    string `json:"PrivateIpAddr" xml:"PrivateIpAddr"`
+}
+
+// CreateCreateInstanceRequest creates a request to invoke CreateInstance API
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateInstance", "", "")
+	return
+}
+
+// CreateCreateInstanceResponse creates a response to parse from CreateInstance response
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 121 - 0
services/r-kvstore/create_user_cluster_host.go

@@ -0,0 +1,121 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateUserClusterHost invokes the r_kvstore.CreateUserClusterHost API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createuserclusterhost.html
+func (client *Client) CreateUserClusterHost(request *CreateUserClusterHostRequest) (response *CreateUserClusterHostResponse, err error) {
+	response = CreateCreateUserClusterHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateUserClusterHostWithChan invokes the r_kvstore.CreateUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateUserClusterHostWithChan(request *CreateUserClusterHostRequest) (<-chan *CreateUserClusterHostResponse, <-chan error) {
+	responseChan := make(chan *CreateUserClusterHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateUserClusterHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateUserClusterHostWithCallback invokes the r_kvstore.CreateUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/createuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateUserClusterHostWithCallback(request *CreateUserClusterHostRequest, callback func(response *CreateUserClusterHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateUserClusterHostResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateUserClusterHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateUserClusterHostRequest is the request struct for api CreateUserClusterHost
+type CreateUserClusterHostRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CouponNo             string           `position:"Query" name:"CouponNo"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Engine               string           `position:"Query" name:"Engine"`
+	OrderPeriod          requests.Integer `position:"Query" name:"OrderPeriod"`
+	BusinessInfo         string           `position:"Query" name:"BusinessInfo"`
+	AgentId              string           `position:"Query" name:"AgentId"`
+	HostClass            string           `position:"Query" name:"HostClass"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OrderNum             requests.Integer `position:"Query" name:"OrderNum"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AutoRenew            requests.Boolean `position:"Query" name:"AutoRenew"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+	ChargeType           string           `position:"Query" name:"ChargeType"`
+}
+
+// CreateUserClusterHostResponse is the response struct for api CreateUserClusterHost
+type CreateUserClusterHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	ClusterId string `json:"ClusterId" xml:"ClusterId"`
+	HostId    string `json:"HostId" xml:"HostId"`
+}
+
+// CreateCreateUserClusterHostRequest creates a request to invoke CreateUserClusterHost API
+func CreateCreateUserClusterHostRequest() (request *CreateUserClusterHostRequest) {
+	request = &CreateUserClusterHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateUserClusterHost", "", "")
+	return
+}
+
+// CreateCreateUserClusterHostResponse creates a response to parse from CreateUserClusterHost response
+func CreateCreateUserClusterHostResponse() (response *CreateUserClusterHostResponse) {
+	response = &CreateUserClusterHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/delete_account.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteAccount invokes the r_kvstore.DeleteAccount API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteaccount.html
+func (client *Client) DeleteAccount(request *DeleteAccountRequest) (response *DeleteAccountResponse, err error) {
+	response = CreateDeleteAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteAccountWithChan invokes the r_kvstore.DeleteAccount API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAccountWithChan(request *DeleteAccountRequest) (<-chan *DeleteAccountResponse, <-chan error) {
+	responseChan := make(chan *DeleteAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteAccount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteAccountWithCallback invokes the r_kvstore.DeleteAccount API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAccountWithCallback(request *DeleteAccountRequest, callback func(response *DeleteAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteAccountRequest is the request struct for api DeleteAccount
+type DeleteAccountRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DeleteAccountResponse is the response struct for api DeleteAccount
+type DeleteAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteAccountRequest creates a request to invoke DeleteAccount API
+func CreateDeleteAccountRequest() (request *DeleteAccountRequest) {
+	request = &DeleteAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DeleteAccount", "", "")
+	return
+}
+
+// CreateDeleteAccountResponse creates a response to parse from DeleteAccount response
+func CreateDeleteAccountResponse() (response *DeleteAccountResponse) {
+	response = &DeleteAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/delete_dedicated_instance.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteDedicatedInstance invokes the r_kvstore.DeleteDedicatedInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deletededicatedinstance.html
+func (client *Client) DeleteDedicatedInstance(request *DeleteDedicatedInstanceRequest) (response *DeleteDedicatedInstanceResponse, err error) {
+	response = CreateDeleteDedicatedInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDedicatedInstanceWithChan invokes the r_kvstore.DeleteDedicatedInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deletededicatedinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDedicatedInstanceWithChan(request *DeleteDedicatedInstanceRequest) (<-chan *DeleteDedicatedInstanceResponse, <-chan error) {
+	responseChan := make(chan *DeleteDedicatedInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDedicatedInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDedicatedInstanceWithCallback invokes the r_kvstore.DeleteDedicatedInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deletededicatedinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDedicatedInstanceWithCallback(request *DeleteDedicatedInstanceRequest, callback func(response *DeleteDedicatedInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDedicatedInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDedicatedInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDedicatedInstanceRequest is the request struct for api DeleteDedicatedInstance
+type DeleteDedicatedInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// DeleteDedicatedInstanceResponse is the response struct for api DeleteDedicatedInstance
+type DeleteDedicatedInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDedicatedInstanceRequest creates a request to invoke DeleteDedicatedInstance API
+func CreateDeleteDedicatedInstanceRequest() (request *DeleteDedicatedInstanceRequest) {
+	request = &DeleteDedicatedInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DeleteDedicatedInstance", "", "")
+	return
+}
+
+// CreateDeleteDedicatedInstanceResponse creates a response to parse from DeleteDedicatedInstance response
+func CreateDeleteDedicatedInstanceResponse() (response *DeleteDedicatedInstanceResponse) {
+	response = &DeleteDedicatedInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/delete_dedicated_user_cluster.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteDedicatedUserCluster invokes the r_kvstore.DeleteDedicatedUserCluster API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deletededicatedusercluster.html
+func (client *Client) DeleteDedicatedUserCluster(request *DeleteDedicatedUserClusterRequest) (response *DeleteDedicatedUserClusterResponse, err error) {
+	response = CreateDeleteDedicatedUserClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDedicatedUserClusterWithChan invokes the r_kvstore.DeleteDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deletededicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDedicatedUserClusterWithChan(request *DeleteDedicatedUserClusterRequest) (<-chan *DeleteDedicatedUserClusterResponse, <-chan error) {
+	responseChan := make(chan *DeleteDedicatedUserClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDedicatedUserCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDedicatedUserClusterWithCallback invokes the r_kvstore.DeleteDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deletededicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDedicatedUserClusterWithCallback(request *DeleteDedicatedUserClusterRequest, callback func(response *DeleteDedicatedUserClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDedicatedUserClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDedicatedUserCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDedicatedUserClusterRequest is the request struct for api DeleteDedicatedUserCluster
+type DeleteDedicatedUserClusterRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Engine               string           `position:"Query" name:"Engine"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// DeleteDedicatedUserClusterResponse is the response struct for api DeleteDedicatedUserCluster
+type DeleteDedicatedUserClusterResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDedicatedUserClusterRequest creates a request to invoke DeleteDedicatedUserCluster API
+func CreateDeleteDedicatedUserClusterRequest() (request *DeleteDedicatedUserClusterRequest) {
+	request = &DeleteDedicatedUserClusterRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DeleteDedicatedUserCluster", "", "")
+	return
+}
+
+// CreateDeleteDedicatedUserClusterResponse creates a response to parse from DeleteDedicatedUserCluster response
+func CreateDeleteDedicatedUserClusterResponse() (response *DeleteDedicatedUserClusterResponse) {
+	response = &DeleteDedicatedUserClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/r-kvstore/delete_instance.go

@@ -0,0 +1,108 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteInstance invokes the r_kvstore.DeleteInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteinstance.html
+func (client *Client) DeleteInstance(request *DeleteInstanceRequest) (response *DeleteInstanceResponse, err error) {
+	response = CreateDeleteInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteInstanceWithChan invokes the r_kvstore.DeleteInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceWithChan(request *DeleteInstanceRequest) (<-chan *DeleteInstanceResponse, <-chan error) {
+	responseChan := make(chan *DeleteInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteInstanceWithCallback invokes the r_kvstore.DeleteInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceWithCallback(request *DeleteInstanceRequest, callback func(response *DeleteInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteInstanceRequest is the request struct for api DeleteInstance
+type DeleteInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+}
+
+// DeleteInstanceResponse is the response struct for api DeleteInstance
+type DeleteInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteInstanceRequest creates a request to invoke DeleteInstance API
+func CreateDeleteInstanceRequest() (request *DeleteInstanceRequest) {
+	request = &DeleteInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DeleteInstance", "", "")
+	return
+}
+
+// CreateDeleteInstanceResponse creates a response to parse from DeleteInstance response
+func CreateDeleteInstanceResponse() (response *DeleteInstanceResponse) {
+	response = &DeleteInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/delete_user_cluster_host.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DeleteUserClusterHost invokes the r_kvstore.DeleteUserClusterHost API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteuserclusterhost.html
+func (client *Client) DeleteUserClusterHost(request *DeleteUserClusterHostRequest) (response *DeleteUserClusterHostResponse, err error) {
+	response = CreateDeleteUserClusterHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteUserClusterHostWithChan invokes the r_kvstore.DeleteUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserClusterHostWithChan(request *DeleteUserClusterHostRequest) (<-chan *DeleteUserClusterHostResponse, <-chan error) {
+	responseChan := make(chan *DeleteUserClusterHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUserClusterHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteUserClusterHostWithCallback invokes the r_kvstore.DeleteUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/deleteuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserClusterHostWithCallback(request *DeleteUserClusterHostRequest, callback func(response *DeleteUserClusterHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUserClusterHostResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUserClusterHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteUserClusterHostRequest is the request struct for api DeleteUserClusterHost
+type DeleteUserClusterHostRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	HostId               string           `position:"Query" name:"HostId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Engine               string           `position:"Query" name:"Engine"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// DeleteUserClusterHostResponse is the response struct for api DeleteUserClusterHost
+type DeleteUserClusterHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteUserClusterHostRequest creates a request to invoke DeleteUserClusterHost API
+func CreateDeleteUserClusterHostRequest() (request *DeleteUserClusterHostRequest) {
+	request = &DeleteUserClusterHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DeleteUserClusterHost", "", "")
+	return
+}
+
+// CreateDeleteUserClusterHostResponse creates a response to parse from DeleteUserClusterHost response
+func CreateDeleteUserClusterHostResponse() (response *DeleteUserClusterHostResponse) {
+	response = &DeleteUserClusterHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/describe_accounts.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAccounts invokes the r_kvstore.DescribeAccounts API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeaccounts.html
+func (client *Client) DescribeAccounts(request *DescribeAccountsRequest) (response *DescribeAccountsResponse, err error) {
+	response = CreateDescribeAccountsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAccountsWithChan invokes the r_kvstore.DescribeAccounts API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeaccounts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountsWithChan(request *DescribeAccountsRequest) (<-chan *DescribeAccountsResponse, <-chan error) {
+	responseChan := make(chan *DescribeAccountsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAccounts(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAccountsWithCallback invokes the r_kvstore.DescribeAccounts API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeaccounts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountsWithCallback(request *DescribeAccountsRequest, callback func(response *DescribeAccountsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAccountsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAccounts(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAccountsRequest is the request struct for api DescribeAccounts
+type DescribeAccountsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeAccountsResponse is the response struct for api DescribeAccounts
+type DescribeAccountsResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Accounts  Accounts `json:"Accounts" xml:"Accounts"`
+}
+
+// CreateDescribeAccountsRequest creates a request to invoke DescribeAccounts API
+func CreateDescribeAccountsRequest() (request *DescribeAccountsRequest) {
+	request = &DescribeAccountsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeAccounts", "", "")
+	return
+}
+
+// CreateDescribeAccountsResponse creates a response to parse from DescribeAccounts response
+func CreateDescribeAccountsResponse() (response *DescribeAccountsResponse) {
+	response = &DescribeAccountsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 124 - 0
services/r-kvstore/describe_audit_records.go

@@ -0,0 +1,124 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAuditRecords invokes the r_kvstore.DescribeAuditRecords API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeauditrecords.html
+func (client *Client) DescribeAuditRecords(request *DescribeAuditRecordsRequest) (response *DescribeAuditRecordsResponse, err error) {
+	response = CreateDescribeAuditRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAuditRecordsWithChan invokes the r_kvstore.DescribeAuditRecords API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeauditrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAuditRecordsWithChan(request *DescribeAuditRecordsRequest) (<-chan *DescribeAuditRecordsResponse, <-chan error) {
+	responseChan := make(chan *DescribeAuditRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAuditRecords(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAuditRecordsWithCallback invokes the r_kvstore.DescribeAuditRecords API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeauditrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAuditRecordsWithCallback(request *DescribeAuditRecordsRequest, callback func(response *DescribeAuditRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAuditRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAuditRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAuditRecordsRequest is the request struct for api DescribeAuditRecords
+type DescribeAuditRecordsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	QueryKeywords        string           `position:"Query" name:"QueryKeywords"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	HostAddress          string           `position:"Query" name:"HostAddress"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DatabaseName         string           `position:"Query" name:"DatabaseName"`
+}
+
+// DescribeAuditRecordsResponse is the response struct for api DescribeAuditRecords
+type DescribeAuditRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId        string                      `json:"RequestId" xml:"RequestId"`
+	PageNumber       int                         `json:"PageNumber" xml:"PageNumber"`
+	PageSize         int                         `json:"PageSize" xml:"PageSize"`
+	TotalRecordCount int                         `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	InstanceName     string                      `json:"InstanceName" xml:"InstanceName"`
+	StartTime        string                      `json:"StartTime" xml:"StartTime"`
+	EndTime          string                      `json:"EndTime" xml:"EndTime"`
+	Items            ItemsInDescribeAuditRecords `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeAuditRecordsRequest creates a request to invoke DescribeAuditRecords API
+func CreateDescribeAuditRecordsRequest() (request *DescribeAuditRecordsRequest) {
+	request = &DescribeAuditRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeAuditRecords", "", "")
+	return
+}
+
+// CreateDescribeAuditRecordsResponse creates a response to parse from DescribeAuditRecords response
+func CreateDescribeAuditRecordsResponse() (response *DescribeAuditRecordsResponse) {
+	response = &DescribeAuditRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/r-kvstore/describe_available_resource.go

@@ -0,0 +1,113 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAvailableResource invokes the r_kvstore.DescribeAvailableResource API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeavailableresource.html
+func (client *Client) DescribeAvailableResource(request *DescribeAvailableResourceRequest) (response *DescribeAvailableResourceResponse, err error) {
+	response = CreateDescribeAvailableResourceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAvailableResourceWithChan invokes the r_kvstore.DescribeAvailableResource API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeavailableresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAvailableResourceWithChan(request *DescribeAvailableResourceRequest) (<-chan *DescribeAvailableResourceResponse, <-chan error) {
+	responseChan := make(chan *DescribeAvailableResourceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAvailableResource(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAvailableResourceWithCallback invokes the r_kvstore.DescribeAvailableResource API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeavailableresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAvailableResourceWithCallback(request *DescribeAvailableResourceRequest, callback func(response *DescribeAvailableResourceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAvailableResourceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAvailableResource(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAvailableResourceRequest is the request struct for api DescribeAvailableResource
+type DescribeAvailableResourceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Engine               string           `position:"Query" name:"Engine"`
+	InstanceChargeType   string           `position:"Query" name:"InstanceChargeType"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	Level                string           `position:"Query" name:"Level"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+	OrderType            string           `position:"Query" name:"OrderType"`
+}
+
+// DescribeAvailableResourceResponse is the response struct for api DescribeAvailableResource
+type DescribeAvailableResourceResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	AvailableZones AvailableZones `json:"AvailableZones" xml:"AvailableZones"`
+}
+
+// CreateDescribeAvailableResourceRequest creates a request to invoke DescribeAvailableResource API
+func CreateDescribeAvailableResourceRequest() (request *DescribeAvailableResourceRequest) {
+	request = &DescribeAvailableResourceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeAvailableResource", "", "")
+	return
+}
+
+// CreateDescribeAvailableResourceResponse creates a response to parse from DescribeAvailableResource response
+func CreateDescribeAvailableResourceResponse() (response *DescribeAvailableResourceResponse) {
+	response = &DescribeAvailableResourceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/r-kvstore/describe_backup_policy.go

@@ -0,0 +1,113 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeBackupPolicy invokes the r_kvstore.DescribeBackupPolicy API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describebackuppolicy.html
+func (client *Client) DescribeBackupPolicy(request *DescribeBackupPolicyRequest) (response *DescribeBackupPolicyResponse, err error) {
+	response = CreateDescribeBackupPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBackupPolicyWithChan invokes the r_kvstore.DescribeBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describebackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBackupPolicyWithChan(request *DescribeBackupPolicyRequest) (<-chan *DescribeBackupPolicyResponse, <-chan error) {
+	responseChan := make(chan *DescribeBackupPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeBackupPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeBackupPolicyWithCallback invokes the r_kvstore.DescribeBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describebackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBackupPolicyWithCallback(request *DescribeBackupPolicyRequest, callback func(response *DescribeBackupPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeBackupPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeBackupPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeBackupPolicyRequest is the request struct for api DescribeBackupPolicy
+type DescribeBackupPolicyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeBackupPolicyResponse is the response struct for api DescribeBackupPolicy
+type DescribeBackupPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId               string `json:"RequestId" xml:"RequestId"`
+	BackupRetentionPeriod   string `json:"BackupRetentionPeriod" xml:"BackupRetentionPeriod"`
+	PreferredBackupTime     string `json:"PreferredBackupTime" xml:"PreferredBackupTime"`
+	PreferredBackupPeriod   string `json:"PreferredBackupPeriod" xml:"PreferredBackupPeriod"`
+	PreferredNextBackupTime string `json:"PreferredNextBackupTime" xml:"PreferredNextBackupTime"`
+	EnableBackupLog         int    `json:"EnableBackupLog" xml:"EnableBackupLog"`
+}
+
+// CreateDescribeBackupPolicyRequest creates a request to invoke DescribeBackupPolicy API
+func CreateDescribeBackupPolicyRequest() (request *DescribeBackupPolicyRequest) {
+	request = &DescribeBackupPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeBackupPolicy", "", "")
+	return
+}
+
+// CreateDescribeBackupPolicyResponse creates a response to parse from DescribeBackupPolicy response
+func CreateDescribeBackupPolicyResponse() (response *DescribeBackupPolicyResponse) {
+	response = &DescribeBackupPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/r-kvstore/describe_backups.go

@@ -0,0 +1,118 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeBackups invokes the r_kvstore.DescribeBackups API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describebackups.html
+func (client *Client) DescribeBackups(request *DescribeBackupsRequest) (response *DescribeBackupsResponse, err error) {
+	response = CreateDescribeBackupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBackupsWithChan invokes the r_kvstore.DescribeBackups API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describebackups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBackupsWithChan(request *DescribeBackupsRequest) (<-chan *DescribeBackupsResponse, <-chan error) {
+	responseChan := make(chan *DescribeBackupsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeBackups(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeBackupsWithCallback invokes the r_kvstore.DescribeBackups API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describebackups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBackupsWithCallback(request *DescribeBackupsRequest, callback func(response *DescribeBackupsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeBackupsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeBackups(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeBackupsRequest is the request struct for api DescribeBackups
+type DescribeBackupsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	BackupId             requests.Integer `position:"Query" name:"BackupId"`
+	NeedAof              string           `position:"Query" name:"NeedAof"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeBackupsResponse is the response struct for api DescribeBackups
+type DescribeBackupsResponse struct {
+	*responses.BaseResponse
+	RequestId  string  `json:"RequestId" xml:"RequestId"`
+	PageNumber int     `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int     `json:"PageSize" xml:"PageSize"`
+	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
+	Backups    Backups `json:"Backups" xml:"Backups"`
+}
+
+// CreateDescribeBackupsRequest creates a request to invoke DescribeBackups API
+func CreateDescribeBackupsRequest() (request *DescribeBackupsRequest) {
+	request = &DescribeBackupsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeBackups", "", "")
+	return
+}
+
+// CreateDescribeBackupsResponse creates a response to parse from DescribeBackups response
+func CreateDescribeBackupsResponse() (response *DescribeBackupsResponse) {
+	response = &DescribeBackupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/r-kvstore/describe_cache_analysis_report.go

@@ -0,0 +1,119 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeCacheAnalysisReport invokes the r_kvstore.DescribeCacheAnalysisReport API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describecacheanalysisreport.html
+func (client *Client) DescribeCacheAnalysisReport(request *DescribeCacheAnalysisReportRequest) (response *DescribeCacheAnalysisReportResponse, err error) {
+	response = CreateDescribeCacheAnalysisReportResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCacheAnalysisReportWithChan invokes the r_kvstore.DescribeCacheAnalysisReport API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describecacheanalysisreport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCacheAnalysisReportWithChan(request *DescribeCacheAnalysisReportRequest) (<-chan *DescribeCacheAnalysisReportResponse, <-chan error) {
+	responseChan := make(chan *DescribeCacheAnalysisReportResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCacheAnalysisReport(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCacheAnalysisReportWithCallback invokes the r_kvstore.DescribeCacheAnalysisReport API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describecacheanalysisreport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCacheAnalysisReportWithCallback(request *DescribeCacheAnalysisReportRequest, callback func(response *DescribeCacheAnalysisReportResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCacheAnalysisReportResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCacheAnalysisReport(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCacheAnalysisReportRequest is the request struct for api DescribeCacheAnalysisReport
+type DescribeCacheAnalysisReportRequest struct {
+	*requests.RpcRequest
+	Date                 string           `position:"Query" name:"Date"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AnalysisType         string           `position:"Query" name:"AnalysisType"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	PageNumbers          requests.Integer `position:"Query" name:"PageNumbers"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeCacheAnalysisReportResponse is the response struct for api DescribeCacheAnalysisReport
+type DescribeCacheAnalysisReportResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	TotalRecordCount int    `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	PageSize         int    `json:"PageSize" xml:"PageSize"`
+	PageNumber       int    `json:"PageNumber" xml:"PageNumber"`
+	PageRecordCount  int    `json:"PageRecordCount" xml:"PageRecordCount"`
+	HotKeys          string `json:"HotKeys" xml:"HotKeys"`
+	BigKeys          string `json:"BigKeys" xml:"BigKeys"`
+}
+
+// CreateDescribeCacheAnalysisReportRequest creates a request to invoke DescribeCacheAnalysisReport API
+func CreateDescribeCacheAnalysisReportRequest() (request *DescribeCacheAnalysisReportRequest) {
+	request = &DescribeCacheAnalysisReportRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeCacheAnalysisReport", "", "")
+	return
+}
+
+// CreateDescribeCacheAnalysisReportResponse creates a response to parse from DescribeCacheAnalysisReport response
+func CreateDescribeCacheAnalysisReportResponse() (response *DescribeCacheAnalysisReportResponse) {
+	response = &DescribeCacheAnalysisReportResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/r-kvstore/describe_cache_analysis_report_list.go

@@ -0,0 +1,118 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeCacheAnalysisReportList invokes the r_kvstore.DescribeCacheAnalysisReportList API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describecacheanalysisreportlist.html
+func (client *Client) DescribeCacheAnalysisReportList(request *DescribeCacheAnalysisReportListRequest) (response *DescribeCacheAnalysisReportListResponse, err error) {
+	response = CreateDescribeCacheAnalysisReportListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCacheAnalysisReportListWithChan invokes the r_kvstore.DescribeCacheAnalysisReportList API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describecacheanalysisreportlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCacheAnalysisReportListWithChan(request *DescribeCacheAnalysisReportListRequest) (<-chan *DescribeCacheAnalysisReportListResponse, <-chan error) {
+	responseChan := make(chan *DescribeCacheAnalysisReportListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCacheAnalysisReportList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCacheAnalysisReportListWithCallback invokes the r_kvstore.DescribeCacheAnalysisReportList API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describecacheanalysisreportlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCacheAnalysisReportListWithCallback(request *DescribeCacheAnalysisReportListRequest, callback func(response *DescribeCacheAnalysisReportListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCacheAnalysisReportListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCacheAnalysisReportList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCacheAnalysisReportListRequest is the request struct for api DescribeCacheAnalysisReportList
+type DescribeCacheAnalysisReportListRequest struct {
+	*requests.RpcRequest
+	Date                 string           `position:"Query" name:"Date"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	PageNumbers          requests.Integer `position:"Query" name:"PageNumbers"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	Days                 requests.Integer `position:"Query" name:"Days"`
+}
+
+// DescribeCacheAnalysisReportListResponse is the response struct for api DescribeCacheAnalysisReportList
+type DescribeCacheAnalysisReportListResponse struct {
+	*responses.BaseResponse
+	RequestId        string     `json:"RequestId" xml:"RequestId"`
+	InstanceId       string     `json:"InstanceId" xml:"InstanceId"`
+	TotalRecordCount int        `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	PageNumbers      int        `json:"PageNumbers" xml:"PageNumbers"`
+	PageRecordCount  int        `json:"PageRecordCount" xml:"PageRecordCount"`
+	DailyTasks       DailyTasks `json:"DailyTasks" xml:"DailyTasks"`
+}
+
+// CreateDescribeCacheAnalysisReportListRequest creates a request to invoke DescribeCacheAnalysisReportList API
+func CreateDescribeCacheAnalysisReportListRequest() (request *DescribeCacheAnalysisReportListRequest) {
+	request = &DescribeCacheAnalysisReportListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeCacheAnalysisReportList", "", "")
+	return
+}
+
+// CreateDescribeCacheAnalysisReportListResponse creates a response to parse from DescribeCacheAnalysisReportList response
+func CreateDescribeCacheAnalysisReportListResponse() (response *DescribeCacheAnalysisReportListResponse) {
+	response = &DescribeCacheAnalysisReportListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/describe_db_instance_net_info.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeDBInstanceNetInfo invokes the r_kvstore.DescribeDBInstanceNetInfo API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describedbinstancenetinfo.html
+func (client *Client) DescribeDBInstanceNetInfo(request *DescribeDBInstanceNetInfoRequest) (response *DescribeDBInstanceNetInfoResponse, err error) {
+	response = CreateDescribeDBInstanceNetInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDBInstanceNetInfoWithChan invokes the r_kvstore.DescribeDBInstanceNetInfo API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describedbinstancenetinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDBInstanceNetInfoWithChan(request *DescribeDBInstanceNetInfoRequest) (<-chan *DescribeDBInstanceNetInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeDBInstanceNetInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDBInstanceNetInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDBInstanceNetInfoWithCallback invokes the r_kvstore.DescribeDBInstanceNetInfo API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describedbinstancenetinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDBInstanceNetInfoWithCallback(request *DescribeDBInstanceNetInfoRequest, callback func(response *DescribeDBInstanceNetInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDBInstanceNetInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDBInstanceNetInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDBInstanceNetInfoRequest is the request struct for api DescribeDBInstanceNetInfo
+type DescribeDBInstanceNetInfoRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeDBInstanceNetInfoResponse is the response struct for api DescribeDBInstanceNetInfo
+type DescribeDBInstanceNetInfoResponse struct {
+	*responses.BaseResponse
+	RequestId           string                                  `json:"RequestId" xml:"RequestId"`
+	InstanceNetworkType string                                  `json:"InstanceNetworkType" xml:"InstanceNetworkType"`
+	NetInfoItems        NetInfoItemsInDescribeDBInstanceNetInfo `json:"NetInfoItems" xml:"NetInfoItems"`
+}
+
+// CreateDescribeDBInstanceNetInfoRequest creates a request to invoke DescribeDBInstanceNetInfo API
+func CreateDescribeDBInstanceNetInfoRequest() (request *DescribeDBInstanceNetInfoRequest) {
+	request = &DescribeDBInstanceNetInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeDBInstanceNetInfo", "", "")
+	return
+}
+
+// CreateDescribeDBInstanceNetInfoResponse creates a response to parse from DescribeDBInstanceNetInfo response
+func CreateDescribeDBInstanceNetInfoResponse() (response *DescribeDBInstanceNetInfoResponse) {
+	response = &DescribeDBInstanceNetInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/r-kvstore/describe_dedicated_user_cluster.go

@@ -0,0 +1,113 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeDedicatedUserCluster invokes the r_kvstore.DescribeDedicatedUserCluster API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describededicatedusercluster.html
+func (client *Client) DescribeDedicatedUserCluster(request *DescribeDedicatedUserClusterRequest) (response *DescribeDedicatedUserClusterResponse, err error) {
+	response = CreateDescribeDedicatedUserClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDedicatedUserClusterWithChan invokes the r_kvstore.DescribeDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describededicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDedicatedUserClusterWithChan(request *DescribeDedicatedUserClusterRequest) (<-chan *DescribeDedicatedUserClusterResponse, <-chan error) {
+	responseChan := make(chan *DescribeDedicatedUserClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDedicatedUserCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDedicatedUserClusterWithCallback invokes the r_kvstore.DescribeDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describededicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDedicatedUserClusterWithCallback(request *DescribeDedicatedUserClusterRequest, callback func(response *DescribeDedicatedUserClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDedicatedUserClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDedicatedUserCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDedicatedUserClusterRequest is the request struct for api DescribeDedicatedUserCluster
+type DescribeDedicatedUserClusterRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// DescribeDedicatedUserClusterResponse is the response struct for api DescribeDedicatedUserCluster
+type DescribeDedicatedUserClusterResponse struct {
+	*responses.BaseResponse
+	RequestId         string       `json:"RequestId" xml:"RequestId"`
+	MaxRecordsPerPage int          `json:"MaxRecordsPerPage" xml:"MaxRecordsPerPage"`
+	PageNumber        int          `json:"PageNumber" xml:"PageNumber"`
+	TotalRecords      int          `json:"TotalRecords" xml:"TotalRecords"`
+	ItemsNumbers      int          `json:"ItemsNumbers" xml:"ItemsNumbers"`
+	ClusterItems      ClusterItems `json:"ClusterItems" xml:"ClusterItems"`
+}
+
+// CreateDescribeDedicatedUserClusterRequest creates a request to invoke DescribeDedicatedUserCluster API
+func CreateDescribeDedicatedUserClusterRequest() (request *DescribeDedicatedUserClusterRequest) {
+	request = &DescribeDedicatedUserClusterRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeDedicatedUserCluster", "", "")
+	return
+}
+
+// CreateDescribeDedicatedUserClusterResponse creates a response to parse from DescribeDedicatedUserCluster response
+func CreateDescribeDedicatedUserClusterResponse() (response *DescribeDedicatedUserClusterResponse) {
+	response = &DescribeDedicatedUserClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/r-kvstore/describe_history_monitor_values.go

@@ -0,0 +1,114 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeHistoryMonitorValues invokes the r_kvstore.DescribeHistoryMonitorValues API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describehistorymonitorvalues.html
+func (client *Client) DescribeHistoryMonitorValues(request *DescribeHistoryMonitorValuesRequest) (response *DescribeHistoryMonitorValuesResponse, err error) {
+	response = CreateDescribeHistoryMonitorValuesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeHistoryMonitorValuesWithChan invokes the r_kvstore.DescribeHistoryMonitorValues API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describehistorymonitorvalues.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHistoryMonitorValuesWithChan(request *DescribeHistoryMonitorValuesRequest) (<-chan *DescribeHistoryMonitorValuesResponse, <-chan error) {
+	responseChan := make(chan *DescribeHistoryMonitorValuesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeHistoryMonitorValues(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeHistoryMonitorValuesWithCallback invokes the r_kvstore.DescribeHistoryMonitorValues API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describehistorymonitorvalues.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHistoryMonitorValuesWithCallback(request *DescribeHistoryMonitorValuesRequest, callback func(response *DescribeHistoryMonitorValuesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeHistoryMonitorValuesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeHistoryMonitorValues(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeHistoryMonitorValuesRequest is the request struct for api DescribeHistoryMonitorValues
+type DescribeHistoryMonitorValuesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	IntervalForHistory   string           `position:"Query" name:"IntervalForHistory"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	MonitorKeys          string           `position:"Query" name:"MonitorKeys"`
+}
+
+// DescribeHistoryMonitorValuesResponse is the response struct for api DescribeHistoryMonitorValues
+type DescribeHistoryMonitorValuesResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	MonitorHistory string `json:"MonitorHistory" xml:"MonitorHistory"`
+}
+
+// CreateDescribeHistoryMonitorValuesRequest creates a request to invoke DescribeHistoryMonitorValues API
+func CreateDescribeHistoryMonitorValuesRequest() (request *DescribeHistoryMonitorValuesRequest) {
+	request = &DescribeHistoryMonitorValuesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeHistoryMonitorValues", "", "")
+	return
+}
+
+// CreateDescribeHistoryMonitorValuesResponse creates a response to parse from DescribeHistoryMonitorValues response
+func CreateDescribeHistoryMonitorValuesResponse() (response *DescribeHistoryMonitorValuesResponse) {
+	response = &DescribeHistoryMonitorValuesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/describe_instance_attribute.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeInstanceAttribute invokes the r_kvstore.DescribeInstanceAttribute API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstanceattribute.html
+func (client *Client) DescribeInstanceAttribute(request *DescribeInstanceAttributeRequest) (response *DescribeInstanceAttributeResponse, err error) {
+	response = CreateDescribeInstanceAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceAttributeWithChan invokes the r_kvstore.DescribeInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceAttributeWithChan(request *DescribeInstanceAttributeRequest) (<-chan *DescribeInstanceAttributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceAttributeWithCallback invokes the r_kvstore.DescribeInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceAttributeWithCallback(request *DescribeInstanceAttributeRequest, callback func(response *DescribeInstanceAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceAttributeRequest is the request struct for api DescribeInstanceAttribute
+type DescribeInstanceAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeInstanceAttributeResponse is the response struct for api DescribeInstanceAttribute
+type DescribeInstanceAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string                               `json:"RequestId" xml:"RequestId"`
+	Instances InstancesInDescribeInstanceAttribute `json:"Instances" xml:"Instances"`
+}
+
+// CreateDescribeInstanceAttributeRequest creates a request to invoke DescribeInstanceAttribute API
+func CreateDescribeInstanceAttributeRequest() (request *DescribeInstanceAttributeRequest) {
+	request = &DescribeInstanceAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeInstanceAttribute", "", "")
+	return
+}
+
+// CreateDescribeInstanceAttributeResponse creates a response to parse from DescribeInstanceAttribute response
+func CreateDescribeInstanceAttributeResponse() (response *DescribeInstanceAttributeResponse) {
+	response = &DescribeInstanceAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/r-kvstore/describe_instance_auto_renewal_attribute.go

@@ -0,0 +1,115 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeInstanceAutoRenewalAttribute invokes the r_kvstore.DescribeInstanceAutoRenewalAttribute API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstanceautorenewalattribute.html
+func (client *Client) DescribeInstanceAutoRenewalAttribute(request *DescribeInstanceAutoRenewalAttributeRequest) (response *DescribeInstanceAutoRenewalAttributeResponse, err error) {
+	response = CreateDescribeInstanceAutoRenewalAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceAutoRenewalAttributeWithChan invokes the r_kvstore.DescribeInstanceAutoRenewalAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstanceautorenewalattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceAutoRenewalAttributeWithChan(request *DescribeInstanceAutoRenewalAttributeRequest) (<-chan *DescribeInstanceAutoRenewalAttributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceAutoRenewalAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceAutoRenewalAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceAutoRenewalAttributeWithCallback invokes the r_kvstore.DescribeInstanceAutoRenewalAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstanceautorenewalattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceAutoRenewalAttributeWithCallback(request *DescribeInstanceAutoRenewalAttributeRequest, callback func(response *DescribeInstanceAutoRenewalAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceAutoRenewalAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceAutoRenewalAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceAutoRenewalAttributeRequest is the request struct for api DescribeInstanceAutoRenewalAttribute
+type DescribeInstanceAutoRenewalAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	ProxyId              string           `position:"Query" name:"proxyId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeInstanceAutoRenewalAttributeResponse is the response struct for api DescribeInstanceAutoRenewalAttribute
+type DescribeInstanceAutoRenewalAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId        string                                      `json:"RequestId" xml:"RequestId"`
+	PageNumber       int                                         `json:"PageNumber" xml:"PageNumber"`
+	TotalRecordCount int                                         `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	PageRecordCount  int                                         `json:"PageRecordCount" xml:"PageRecordCount"`
+	Items            ItemsInDescribeInstanceAutoRenewalAttribute `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeInstanceAutoRenewalAttributeRequest creates a request to invoke DescribeInstanceAutoRenewalAttribute API
+func CreateDescribeInstanceAutoRenewalAttributeRequest() (request *DescribeInstanceAutoRenewalAttributeRequest) {
+	request = &DescribeInstanceAutoRenewalAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeInstanceAutoRenewalAttribute", "", "")
+	return
+}
+
+// CreateDescribeInstanceAutoRenewalAttributeResponse creates a response to parse from DescribeInstanceAutoRenewalAttribute response
+func CreateDescribeInstanceAutoRenewalAttributeResponse() (response *DescribeInstanceAutoRenewalAttributeResponse) {
+	response = &DescribeInstanceAutoRenewalAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/r-kvstore/describe_instance_ssl.go

@@ -0,0 +1,112 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeInstanceSSL invokes the r_kvstore.DescribeInstanceSSL API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstancessl.html
+func (client *Client) DescribeInstanceSSL(request *DescribeInstanceSSLRequest) (response *DescribeInstanceSSLResponse, err error) {
+	response = CreateDescribeInstanceSSLResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceSSLWithChan invokes the r_kvstore.DescribeInstanceSSL API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstancessl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceSSLWithChan(request *DescribeInstanceSSLRequest) (<-chan *DescribeInstanceSSLResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceSSLResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceSSL(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceSSLWithCallback invokes the r_kvstore.DescribeInstanceSSL API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstancessl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceSSLWithCallback(request *DescribeInstanceSSLRequest, callback func(response *DescribeInstanceSSLResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceSSLResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceSSL(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceSSLRequest is the request struct for api DescribeInstanceSSL
+type DescribeInstanceSSLRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeInstanceSSLResponse is the response struct for api DescribeInstanceSSL
+type DescribeInstanceSSLResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	InstanceId     string `json:"InstanceId" xml:"InstanceId"`
+	SSLEnabled     string `json:"SSLEnabled" xml:"SSLEnabled"`
+	CertCommonName string `json:"CertCommonName" xml:"CertCommonName"`
+	SSLExpiredTime string `json:"SSLExpiredTime" xml:"SSLExpiredTime"`
+}
+
+// CreateDescribeInstanceSSLRequest creates a request to invoke DescribeInstanceSSL API
+func CreateDescribeInstanceSSLRequest() (request *DescribeInstanceSSLRequest) {
+	request = &DescribeInstanceSSLRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeInstanceSSL", "", "")
+	return
+}
+
+// CreateDescribeInstanceSSLResponse creates a response to parse from DescribeInstanceSSL response
+func CreateDescribeInstanceSSLResponse() (response *DescribeInstanceSSLResponse) {
+	response = &DescribeInstanceSSLResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 135 - 0
services/r-kvstore/describe_instances.go

@@ -0,0 +1,135 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeInstances invokes the r_kvstore.DescribeInstances API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstances.html
+func (client *Client) DescribeInstances(request *DescribeInstancesRequest) (response *DescribeInstancesResponse, err error) {
+	response = CreateDescribeInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstancesWithChan invokes the r_kvstore.DescribeInstances API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstancesWithChan(request *DescribeInstancesRequest) (<-chan *DescribeInstancesResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstancesWithCallback invokes the r_kvstore.DescribeInstances API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstancesWithCallback(request *DescribeInstancesRequest, callback func(response *DescribeInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstancesRequest is the request struct for api DescribeInstances
+type DescribeInstancesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer        `position:"Query" name:"ResourceOwnerId"`
+	SearchKey            string                  `position:"Query" name:"SearchKey"`
+	NetworkType          string                  `position:"Query" name:"NetworkType"`
+	EngineVersion        string                  `position:"Query" name:"EngineVersion"`
+	InstanceClass        string                  `position:"Query" name:"InstanceClass"`
+	PageNumber           requests.Integer        `position:"Query" name:"PageNumber"`
+	ResourceGroupId      string                  `position:"Query" name:"ResourceGroupId"`
+	Expired              string                  `position:"Query" name:"Expired"`
+	SecurityToken        string                  `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer        `position:"Query" name:"PageSize"`
+	InstanceType         string                  `position:"Query" name:"InstanceType"`
+	Tag                  *[]DescribeInstancesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	InstanceStatus       string                  `position:"Query" name:"InstanceStatus"`
+	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                  `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer        `position:"Query" name:"OwnerId"`
+	VSwitchId            string                  `position:"Query" name:"VSwitchId"`
+	VpcCloudInsInfo      requests.Integer        `position:"Query" name:"VpcCloudInsInfo"`
+	InstanceIds          string                  `position:"Query" name:"InstanceIds"`
+	ArchitectureType     string                  `position:"Query" name:"ArchitectureType"`
+	VpcId                string                  `position:"Query" name:"VpcId"`
+	ZoneId               string                  `position:"Query" name:"ZoneId"`
+	ChargeType           string                  `position:"Query" name:"ChargeType"`
+}
+
+// DescribeInstancesTag is a repeated param struct in DescribeInstancesRequest
+type DescribeInstancesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// DescribeInstancesResponse is the response struct for api DescribeInstances
+type DescribeInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId  string                       `json:"RequestId" xml:"RequestId"`
+	PageNumber int                          `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int                          `json:"PageSize" xml:"PageSize"`
+	TotalCount int                          `json:"TotalCount" xml:"TotalCount"`
+	Instances  InstancesInDescribeInstances `json:"Instances" xml:"Instances"`
+}
+
+// CreateDescribeInstancesRequest creates a request to invoke DescribeInstances API
+func CreateDescribeInstancesRequest() (request *DescribeInstancesRequest) {
+	request = &DescribeInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeInstances", "", "")
+	return
+}
+
+// CreateDescribeInstancesResponse creates a response to parse from DescribeInstances response
+func CreateDescribeInstancesResponse() (response *DescribeInstancesResponse) {
+	response = &DescribeInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/describe_intranet_attribute.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeIntranetAttribute invokes the r_kvstore.DescribeIntranetAttribute API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeintranetattribute.html
+func (client *Client) DescribeIntranetAttribute(request *DescribeIntranetAttributeRequest) (response *DescribeIntranetAttributeResponse, err error) {
+	response = CreateDescribeIntranetAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIntranetAttributeWithChan invokes the r_kvstore.DescribeIntranetAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeintranetattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIntranetAttributeWithChan(request *DescribeIntranetAttributeRequest) (<-chan *DescribeIntranetAttributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeIntranetAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIntranetAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIntranetAttributeWithCallback invokes the r_kvstore.DescribeIntranetAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeintranetattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIntranetAttributeWithCallback(request *DescribeIntranetAttributeRequest, callback func(response *DescribeIntranetAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIntranetAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIntranetAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIntranetAttributeRequest is the request struct for api DescribeIntranetAttribute
+type DescribeIntranetAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeIntranetAttributeResponse is the response struct for api DescribeIntranetAttribute
+type DescribeIntranetAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId         string `json:"RequestId" xml:"RequestId"`
+	IntranetBandwidth int    `json:"IntranetBandwidth" xml:"IntranetBandwidth"`
+	ExpireTime        string `json:"ExpireTime" xml:"ExpireTime"`
+}
+
+// CreateDescribeIntranetAttributeRequest creates a request to invoke DescribeIntranetAttribute API
+func CreateDescribeIntranetAttributeRequest() (request *DescribeIntranetAttributeRequest) {
+	request = &DescribeIntranetAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeIntranetAttribute", "", "")
+	return
+}
+
+// CreateDescribeIntranetAttributeResponse creates a response to parse from DescribeIntranetAttribute response
+func CreateDescribeIntranetAttributeResponse() (response *DescribeIntranetAttributeResponse) {
+	response = &DescribeIntranetAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/describe_logic_instance_topology.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeLogicInstanceTopology invokes the r_kvstore.DescribeLogicInstanceTopology API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describelogicinstancetopology.html
+func (client *Client) DescribeLogicInstanceTopology(request *DescribeLogicInstanceTopologyRequest) (response *DescribeLogicInstanceTopologyResponse, err error) {
+	response = CreateDescribeLogicInstanceTopologyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeLogicInstanceTopologyWithChan invokes the r_kvstore.DescribeLogicInstanceTopology API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describelogicinstancetopology.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLogicInstanceTopologyWithChan(request *DescribeLogicInstanceTopologyRequest) (<-chan *DescribeLogicInstanceTopologyResponse, <-chan error) {
+	responseChan := make(chan *DescribeLogicInstanceTopologyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLogicInstanceTopology(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeLogicInstanceTopologyWithCallback invokes the r_kvstore.DescribeLogicInstanceTopology API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describelogicinstancetopology.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeLogicInstanceTopologyWithCallback(request *DescribeLogicInstanceTopologyRequest, callback func(response *DescribeLogicInstanceTopologyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLogicInstanceTopologyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLogicInstanceTopology(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeLogicInstanceTopologyRequest is the request struct for api DescribeLogicInstanceTopology
+type DescribeLogicInstanceTopologyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeLogicInstanceTopologyResponse is the response struct for api DescribeLogicInstanceTopology
+type DescribeLogicInstanceTopologyResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	InstanceId     string         `json:"InstanceId" xml:"InstanceId"`
+	RedisProxyList RedisProxyList `json:"RedisProxyList" xml:"RedisProxyList"`
+	RedisShardList RedisShardList `json:"RedisShardList" xml:"RedisShardList"`
+}
+
+// CreateDescribeLogicInstanceTopologyRequest creates a request to invoke DescribeLogicInstanceTopology API
+func CreateDescribeLogicInstanceTopologyRequest() (request *DescribeLogicInstanceTopologyRequest) {
+	request = &DescribeLogicInstanceTopologyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeLogicInstanceTopology", "", "")
+	return
+}
+
+// CreateDescribeLogicInstanceTopologyResponse creates a response to parse from DescribeLogicInstanceTopology response
+func CreateDescribeLogicInstanceTopologyResponse() (response *DescribeLogicInstanceTopologyResponse) {
+	response = &DescribeLogicInstanceTopologyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/r-kvstore/describe_monitor_items.go

@@ -0,0 +1,108 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeMonitorItems invokes the r_kvstore.DescribeMonitorItems API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describemonitoritems.html
+func (client *Client) DescribeMonitorItems(request *DescribeMonitorItemsRequest) (response *DescribeMonitorItemsResponse, err error) {
+	response = CreateDescribeMonitorItemsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeMonitorItemsWithChan invokes the r_kvstore.DescribeMonitorItems API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describemonitoritems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMonitorItemsWithChan(request *DescribeMonitorItemsRequest) (<-chan *DescribeMonitorItemsResponse, <-chan error) {
+	responseChan := make(chan *DescribeMonitorItemsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeMonitorItems(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeMonitorItemsWithCallback invokes the r_kvstore.DescribeMonitorItems API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describemonitoritems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMonitorItemsWithCallback(request *DescribeMonitorItemsRequest, callback func(response *DescribeMonitorItemsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeMonitorItemsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeMonitorItems(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeMonitorItemsRequest is the request struct for api DescribeMonitorItems
+type DescribeMonitorItemsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+}
+
+// DescribeMonitorItemsResponse is the response struct for api DescribeMonitorItems
+type DescribeMonitorItemsResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	MonitorItems MonitorItems `json:"MonitorItems" xml:"MonitorItems"`
+}
+
+// CreateDescribeMonitorItemsRequest creates a request to invoke DescribeMonitorItems API
+func CreateDescribeMonitorItemsRequest() (request *DescribeMonitorItemsRequest) {
+	request = &DescribeMonitorItemsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeMonitorItems", "", "")
+	return
+}
+
+// CreateDescribeMonitorItemsResponse creates a response to parse from DescribeMonitorItems response
+func CreateDescribeMonitorItemsResponse() (response *DescribeMonitorItemsResponse) {
+	response = &DescribeMonitorItemsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/r-kvstore/describe_parameters.go

@@ -0,0 +1,113 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeParameters invokes the r_kvstore.DescribeParameters API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeparameters.html
+func (client *Client) DescribeParameters(request *DescribeParametersRequest) (response *DescribeParametersResponse, err error) {
+	response = CreateDescribeParametersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeParametersWithChan invokes the r_kvstore.DescribeParameters API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeparameters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeParametersWithChan(request *DescribeParametersRequest) (<-chan *DescribeParametersResponse, <-chan error) {
+	responseChan := make(chan *DescribeParametersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeParameters(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeParametersWithCallback invokes the r_kvstore.DescribeParameters API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeparameters.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeParametersWithCallback(request *DescribeParametersRequest, callback func(response *DescribeParametersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeParametersResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeParameters(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeParametersRequest is the request struct for api DescribeParameters
+type DescribeParametersRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeParametersResponse is the response struct for api DescribeParameters
+type DescribeParametersResponse struct {
+	*responses.BaseResponse
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	Engine            string            `json:"Engine" xml:"Engine"`
+	EngineVersion     string            `json:"EngineVersion" xml:"EngineVersion"`
+	ConfigParameters  ConfigParameters  `json:"ConfigParameters" xml:"ConfigParameters"`
+	RunningParameters RunningParameters `json:"RunningParameters" xml:"RunningParameters"`
+}
+
+// CreateDescribeParametersRequest creates a request to invoke DescribeParameters API
+func CreateDescribeParametersRequest() (request *DescribeParametersRequest) {
+	request = &DescribeParametersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeParameters", "", "")
+	return
+}
+
+// CreateDescribeParametersResponse creates a response to parse from DescribeParameters response
+func CreateDescribeParametersResponse() (response *DescribeParametersResponse) {
+	response = &DescribeParametersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/describe_regions.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeRegions invokes the r_kvstore.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the r_kvstore.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithChan(request *DescribeRegionsRequest) (<-chan *DescribeRegionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRegionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRegions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRegionsWithCallback invokes the r_kvstore.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsRequest, callback func(response *DescribeRegionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRegionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRegions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRegionsRequest is the request struct for api DescribeRegions
+type DescribeRegionsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AcceptLanguage       string           `position:"Query" name:"AcceptLanguage"`
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	RegionIds RegionIds `json:"RegionIds" xml:"RegionIds"`
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeRegions", "", "")
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 124 - 0
services/r-kvstore/describe_running_log_records.go

@@ -0,0 +1,124 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeRunningLogRecords invokes the r_kvstore.DescribeRunningLogRecords API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describerunninglogrecords.html
+func (client *Client) DescribeRunningLogRecords(request *DescribeRunningLogRecordsRequest) (response *DescribeRunningLogRecordsResponse, err error) {
+	response = CreateDescribeRunningLogRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRunningLogRecordsWithChan invokes the r_kvstore.DescribeRunningLogRecords API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describerunninglogrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRunningLogRecordsWithChan(request *DescribeRunningLogRecordsRequest) (<-chan *DescribeRunningLogRecordsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRunningLogRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRunningLogRecords(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRunningLogRecordsWithCallback invokes the r_kvstore.DescribeRunningLogRecords API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describerunninglogrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRunningLogRecordsWithCallback(request *DescribeRunningLogRecordsRequest, callback func(response *DescribeRunningLogRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRunningLogRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRunningLogRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRunningLogRecordsRequest is the request struct for api DescribeRunningLogRecords
+type DescribeRunningLogRecordsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	RoleType             string           `position:"Query" name:"RoleType"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	SQLId                requests.Integer `position:"Query" name:"SQLId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+}
+
+// DescribeRunningLogRecordsResponse is the response struct for api DescribeRunningLogRecords
+type DescribeRunningLogRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId        string                           `json:"RequestId" xml:"RequestId"`
+	InstanceId       string                           `json:"InstanceId" xml:"InstanceId"`
+	StartTime        string                           `json:"StartTime" xml:"StartTime"`
+	Engine           string                           `json:"Engine" xml:"Engine"`
+	TotalRecordCount int                              `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	PageNumber       int                              `json:"PageNumber" xml:"PageNumber"`
+	PageSize         int                              `json:"PageSize" xml:"PageSize"`
+	PageRecordCount  int                              `json:"PageRecordCount" xml:"PageRecordCount"`
+	Items            ItemsInDescribeRunningLogRecords `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeRunningLogRecordsRequest creates a request to invoke DescribeRunningLogRecords API
+func CreateDescribeRunningLogRecordsRequest() (request *DescribeRunningLogRecordsRequest) {
+	request = &DescribeRunningLogRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeRunningLogRecords", "", "")
+	return
+}
+
+// CreateDescribeRunningLogRecordsResponse creates a response to parse from DescribeRunningLogRecords response
+func CreateDescribeRunningLogRecordsResponse() (response *DescribeRunningLogRecordsResponse) {
+	response = &DescribeRunningLogRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/describe_security_ips.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeSecurityIps invokes the r_kvstore.DescribeSecurityIps API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describesecurityips.html
+func (client *Client) DescribeSecurityIps(request *DescribeSecurityIpsRequest) (response *DescribeSecurityIpsResponse, err error) {
+	response = CreateDescribeSecurityIpsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSecurityIpsWithChan invokes the r_kvstore.DescribeSecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describesecurityips.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSecurityIpsWithChan(request *DescribeSecurityIpsRequest) (<-chan *DescribeSecurityIpsResponse, <-chan error) {
+	responseChan := make(chan *DescribeSecurityIpsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSecurityIps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSecurityIpsWithCallback invokes the r_kvstore.DescribeSecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describesecurityips.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSecurityIpsWithCallback(request *DescribeSecurityIpsRequest, callback func(response *DescribeSecurityIpsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSecurityIpsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSecurityIps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSecurityIpsRequest is the request struct for api DescribeSecurityIps
+type DescribeSecurityIpsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeSecurityIpsResponse is the response struct for api DescribeSecurityIps
+type DescribeSecurityIpsResponse struct {
+	*responses.BaseResponse
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	SecurityIpGroups SecurityIpGroups `json:"SecurityIpGroups" xml:"SecurityIpGroups"`
+}
+
+// CreateDescribeSecurityIpsRequest creates a request to invoke DescribeSecurityIps API
+func CreateDescribeSecurityIpsRequest() (request *DescribeSecurityIpsRequest) {
+	request = &DescribeSecurityIpsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeSecurityIps", "", "")
+	return
+}
+
+// CreateDescribeSecurityIpsResponse creates a response to parse from DescribeSecurityIps response
+func CreateDescribeSecurityIpsResponse() (response *DescribeSecurityIpsResponse) {
+	response = &DescribeSecurityIpsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 127 - 0
services/r-kvstore/describe_slow_log_records.go

@@ -0,0 +1,127 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeSlowLogRecords invokes the r_kvstore.DescribeSlowLogRecords API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeslowlogrecords.html
+func (client *Client) DescribeSlowLogRecords(request *DescribeSlowLogRecordsRequest) (response *DescribeSlowLogRecordsResponse, err error) {
+	response = CreateDescribeSlowLogRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSlowLogRecordsWithChan invokes the r_kvstore.DescribeSlowLogRecords API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeslowlogrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSlowLogRecordsWithChan(request *DescribeSlowLogRecordsRequest) (<-chan *DescribeSlowLogRecordsResponse, <-chan error) {
+	responseChan := make(chan *DescribeSlowLogRecordsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSlowLogRecords(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSlowLogRecordsWithCallback invokes the r_kvstore.DescribeSlowLogRecords API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeslowlogrecords.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSlowLogRecordsWithCallback(request *DescribeSlowLogRecordsRequest, callback func(response *DescribeSlowLogRecordsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSlowLogRecordsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSlowLogRecords(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSlowLogRecordsRequest is the request struct for api DescribeSlowLogRecords
+type DescribeSlowLogRecordsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	SQLId                requests.Integer `position:"Query" name:"SQLId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	QueryKeyword         string           `position:"Query" name:"QueryKeyword"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OrderBy              string           `position:"Query" name:"OrderBy"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	SlowLogRecordType    string           `position:"Query" name:"SlowLogRecordType"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+	OrderType            string           `position:"Query" name:"OrderType"`
+}
+
+// DescribeSlowLogRecordsResponse is the response struct for api DescribeSlowLogRecords
+type DescribeSlowLogRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId        string                        `json:"RequestId" xml:"RequestId"`
+	InstanceId       string                        `json:"InstanceId" xml:"InstanceId"`
+	StartTime        string                        `json:"StartTime" xml:"StartTime"`
+	Engine           string                        `json:"Engine" xml:"Engine"`
+	TotalRecordCount int                           `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	PageNumber       int                           `json:"PageNumber" xml:"PageNumber"`
+	PageSize         int                           `json:"PageSize" xml:"PageSize"`
+	PageRecordCount  int                           `json:"PageRecordCount" xml:"PageRecordCount"`
+	Items            ItemsInDescribeSlowLogRecords `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeSlowLogRecordsRequest creates a request to invoke DescribeSlowLogRecords API
+func CreateDescribeSlowLogRecordsRequest() (request *DescribeSlowLogRecordsRequest) {
+	request = &DescribeSlowLogRecordsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeSlowLogRecords", "", "")
+	return
+}
+
+// CreateDescribeSlowLogRecordsResponse creates a response to parse from DescribeSlowLogRecords response
+func CreateDescribeSlowLogRecordsResponse() (response *DescribeSlowLogRecordsResponse) {
+	response = &DescribeSlowLogRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/r-kvstore/describe_user_cluster_host.go

@@ -0,0 +1,117 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeUserClusterHost invokes the r_kvstore.DescribeUserClusterHost API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeuserclusterhost.html
+func (client *Client) DescribeUserClusterHost(request *DescribeUserClusterHostRequest) (response *DescribeUserClusterHostResponse, err error) {
+	response = CreateDescribeUserClusterHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserClusterHostWithChan invokes the r_kvstore.DescribeUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserClusterHostWithChan(request *DescribeUserClusterHostRequest) (<-chan *DescribeUserClusterHostResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserClusterHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserClusterHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserClusterHostWithCallback invokes the r_kvstore.DescribeUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserClusterHostWithCallback(request *DescribeUserClusterHostRequest, callback func(response *DescribeUserClusterHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserClusterHostResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserClusterHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserClusterHostRequest is the request struct for api DescribeUserClusterHost
+type DescribeUserClusterHostRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           string           `position:"Query" name:"PageNumber"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Engine               string           `position:"Query" name:"Engine"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	MaxRecordsPerPage    string           `position:"Query" name:"MaxRecordsPerPage"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// DescribeUserClusterHostResponse is the response struct for api DescribeUserClusterHost
+type DescribeUserClusterHostResponse struct {
+	*responses.BaseResponse
+	RequestId         string     `json:"RequestId" xml:"RequestId"`
+	MaxRecordsPerPage string     `json:"MaxRecordsPerPage" xml:"MaxRecordsPerPage"`
+	PageNumber        int        `json:"PageNumber" xml:"PageNumber"`
+	TotalRecords      int        `json:"TotalRecords" xml:"TotalRecords"`
+	ItemNumbers       int        `json:"ItemNumbers" xml:"ItemNumbers"`
+	HostItems         []HostInfo `json:"HostItems" xml:"HostItems"`
+}
+
+// CreateDescribeUserClusterHostRequest creates a request to invoke DescribeUserClusterHost API
+func CreateDescribeUserClusterHostRequest() (request *DescribeUserClusterHostRequest) {
+	request = &DescribeUserClusterHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeUserClusterHost", "", "")
+	return
+}
+
+// CreateDescribeUserClusterHostResponse creates a response to parse from DescribeUserClusterHost response
+func CreateDescribeUserClusterHostResponse() (response *DescribeUserClusterHostResponse) {
+	response = &DescribeUserClusterHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/r-kvstore/describe_user_cluster_host_instance.go

@@ -0,0 +1,119 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeUserClusterHostInstance invokes the r_kvstore.DescribeUserClusterHostInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeuserclusterhostinstance.html
+func (client *Client) DescribeUserClusterHostInstance(request *DescribeUserClusterHostInstanceRequest) (response *DescribeUserClusterHostInstanceResponse, err error) {
+	response = CreateDescribeUserClusterHostInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserClusterHostInstanceWithChan invokes the r_kvstore.DescribeUserClusterHostInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeuserclusterhostinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserClusterHostInstanceWithChan(request *DescribeUserClusterHostInstanceRequest) (<-chan *DescribeUserClusterHostInstanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserClusterHostInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserClusterHostInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserClusterHostInstanceWithCallback invokes the r_kvstore.DescribeUserClusterHostInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describeuserclusterhostinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserClusterHostInstanceWithCallback(request *DescribeUserClusterHostInstanceRequest, callback func(response *DescribeUserClusterHostInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserClusterHostInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserClusterHostInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserClusterHostInstanceRequest is the request struct for api DescribeUserClusterHostInstance
+type DescribeUserClusterHostInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           string           `position:"Query" name:"PageNumber"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Engine               string           `position:"Query" name:"Engine"`
+	InstanceStatus       string           `position:"Query" name:"InstanceStatus"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	MaxRecordsPerPage    string           `position:"Query" name:"MaxRecordsPerPage"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceIds          string           `position:"Query" name:"InstanceIds"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// DescribeUserClusterHostInstanceResponse is the response struct for api DescribeUserClusterHostInstance
+type DescribeUserClusterHostInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId         string         `json:"RequestId" xml:"RequestId"`
+	MaxRecordsPerPage int            `json:"MaxRecordsPerPage" xml:"MaxRecordsPerPage"`
+	PageNumber        int            `json:"PageNumber" xml:"PageNumber"`
+	TotalRecords      int            `json:"TotalRecords" xml:"TotalRecords"`
+	ItemNumbers       int            `json:"ItemNumbers" xml:"ItemNumbers"`
+	InstancesItems    InstancesItems `json:"InstancesItems" xml:"InstancesItems"`
+}
+
+// CreateDescribeUserClusterHostInstanceRequest creates a request to invoke DescribeUserClusterHostInstance API
+func CreateDescribeUserClusterHostInstanceRequest() (request *DescribeUserClusterHostInstanceRequest) {
+	request = &DescribeUserClusterHostInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeUserClusterHostInstance", "", "")
+	return
+}
+
+// CreateDescribeUserClusterHostInstanceResponse creates a response to parse from DescribeUserClusterHostInstance response
+func CreateDescribeUserClusterHostInstanceResponse() (response *DescribeUserClusterHostInstanceResponse) {
+	response = &DescribeUserClusterHostInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/describe_zones.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeZones invokes the r_kvstore.DescribeZones API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describezones.html
+func (client *Client) DescribeZones(request *DescribeZonesRequest) (response *DescribeZonesResponse, err error) {
+	response = CreateDescribeZonesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeZonesWithChan invokes the r_kvstore.DescribeZones API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describezones.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeZonesWithChan(request *DescribeZonesRequest) (<-chan *DescribeZonesResponse, <-chan error) {
+	responseChan := make(chan *DescribeZonesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeZones(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeZonesWithCallback invokes the r_kvstore.DescribeZones API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/describezones.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeZonesWithCallback(request *DescribeZonesRequest, callback func(response *DescribeZonesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeZonesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeZones(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeZonesRequest is the request struct for api DescribeZones
+type DescribeZonesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AcceptLanguage       string           `position:"Query" name:"AcceptLanguage"`
+}
+
+// DescribeZonesResponse is the response struct for api DescribeZones
+type DescribeZonesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Zones     Zones  `json:"Zones" xml:"Zones"`
+}
+
+// CreateDescribeZonesRequest creates a request to invoke DescribeZones API
+func CreateDescribeZonesRequest() (request *DescribeZonesRequest) {
+	request = &DescribeZonesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "DescribeZones", "", "")
+	return
+}
+
+// CreateDescribeZonesResponse creates a response to parse from DescribeZones response
+func CreateDescribeZonesResponse() (response *DescribeZonesResponse) {
+	response = &DescribeZonesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 63 - 0
services/r-kvstore/endpoint.go

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

+ 111 - 0
services/r-kvstore/flush_expire_keys.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// FlushExpireKeys invokes the r_kvstore.FlushExpireKeys API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/flushexpirekeys.html
+func (client *Client) FlushExpireKeys(request *FlushExpireKeysRequest) (response *FlushExpireKeysResponse, err error) {
+	response = CreateFlushExpireKeysResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FlushExpireKeysWithChan invokes the r_kvstore.FlushExpireKeys API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/flushexpirekeys.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FlushExpireKeysWithChan(request *FlushExpireKeysRequest) (<-chan *FlushExpireKeysResponse, <-chan error) {
+	responseChan := make(chan *FlushExpireKeysResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FlushExpireKeys(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FlushExpireKeysWithCallback invokes the r_kvstore.FlushExpireKeys API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/flushexpirekeys.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FlushExpireKeysWithCallback(request *FlushExpireKeysRequest, callback func(response *FlushExpireKeysResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FlushExpireKeysResponse
+		var err error
+		defer close(result)
+		response, err = client.FlushExpireKeys(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FlushExpireKeysRequest is the request struct for api FlushExpireKeys
+type FlushExpireKeysRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	EffectiveTime        string           `position:"Query" name:"EffectiveTime"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// FlushExpireKeysResponse is the response struct for api FlushExpireKeys
+type FlushExpireKeysResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	TaskId     string `json:"TaskId" xml:"TaskId"`
+}
+
+// CreateFlushExpireKeysRequest creates a request to invoke FlushExpireKeys API
+func CreateFlushExpireKeysRequest() (request *FlushExpireKeysRequest) {
+	request = &FlushExpireKeysRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "FlushExpireKeys", "", "")
+	return
+}
+
+// CreateFlushExpireKeysResponse creates a response to parse from FlushExpireKeys response
+func CreateFlushExpireKeysResponse() (response *FlushExpireKeysResponse) {
+	response = &FlushExpireKeysResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/r-kvstore/flush_instance.go

@@ -0,0 +1,108 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// FlushInstance invokes the r_kvstore.FlushInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/flushinstance.html
+func (client *Client) FlushInstance(request *FlushInstanceRequest) (response *FlushInstanceResponse, err error) {
+	response = CreateFlushInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FlushInstanceWithChan invokes the r_kvstore.FlushInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/flushinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FlushInstanceWithChan(request *FlushInstanceRequest) (<-chan *FlushInstanceResponse, <-chan error) {
+	responseChan := make(chan *FlushInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FlushInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FlushInstanceWithCallback invokes the r_kvstore.FlushInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/flushinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FlushInstanceWithCallback(request *FlushInstanceRequest, callback func(response *FlushInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FlushInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.FlushInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FlushInstanceRequest is the request struct for api FlushInstance
+type FlushInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+}
+
+// FlushInstanceResponse is the response struct for api FlushInstance
+type FlushInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateFlushInstanceRequest creates a request to invoke FlushInstance API
+func CreateFlushInstanceRequest() (request *FlushInstanceRequest) {
+	request = &FlushInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "FlushInstance", "", "")
+	return
+}
+
+// CreateFlushInstanceResponse creates a response to parse from FlushInstance response
+func CreateFlushInstanceResponse() (response *FlushInstanceResponse) {
+	response = &FlushInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/grant_account_privilege.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// GrantAccountPrivilege invokes the r_kvstore.GrantAccountPrivilege API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/grantaccountprivilege.html
+func (client *Client) GrantAccountPrivilege(request *GrantAccountPrivilegeRequest) (response *GrantAccountPrivilegeResponse, err error) {
+	response = CreateGrantAccountPrivilegeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GrantAccountPrivilegeWithChan invokes the r_kvstore.GrantAccountPrivilege API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/grantaccountprivilege.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GrantAccountPrivilegeWithChan(request *GrantAccountPrivilegeRequest) (<-chan *GrantAccountPrivilegeResponse, <-chan error) {
+	responseChan := make(chan *GrantAccountPrivilegeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GrantAccountPrivilege(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GrantAccountPrivilegeWithCallback invokes the r_kvstore.GrantAccountPrivilege API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/grantaccountprivilege.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GrantAccountPrivilegeWithCallback(request *GrantAccountPrivilegeRequest, callback func(response *GrantAccountPrivilegeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GrantAccountPrivilegeResponse
+		var err error
+		defer close(result)
+		response, err = client.GrantAccountPrivilege(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GrantAccountPrivilegeRequest is the request struct for api GrantAccountPrivilege
+type GrantAccountPrivilegeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AccountPrivilege     string           `position:"Query" name:"AccountPrivilege"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// GrantAccountPrivilegeResponse is the response struct for api GrantAccountPrivilege
+type GrantAccountPrivilegeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateGrantAccountPrivilegeRequest creates a request to invoke GrantAccountPrivilege API
+func CreateGrantAccountPrivilegeRequest() (request *GrantAccountPrivilegeRequest) {
+	request = &GrantAccountPrivilegeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "GrantAccountPrivilege", "", "")
+	return
+}
+
+// CreateGrantAccountPrivilegeResponse creates a response to parse from GrantAccountPrivilege response
+func CreateGrantAccountPrivilegeResponse() (response *GrantAccountPrivilegeResponse) {
+	response = &GrantAccountPrivilegeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/r-kvstore/list_tag_resources.go

@@ -0,0 +1,118 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListTagResources invokes the r_kvstore.ListTagResources API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/listtagresources.html
+func (client *Client) ListTagResources(request *ListTagResourcesRequest) (response *ListTagResourcesResponse, err error) {
+	response = CreateListTagResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListTagResourcesWithChan invokes the r_kvstore.ListTagResources API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/listtagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagResourcesWithChan(request *ListTagResourcesRequest) (<-chan *ListTagResourcesResponse, <-chan error) {
+	responseChan := make(chan *ListTagResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListTagResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListTagResourcesWithCallback invokes the r_kvstore.ListTagResources API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/listtagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagResourcesWithCallback(request *ListTagResourcesRequest, callback func(response *ListTagResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListTagResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListTagResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListTagResourcesRequest is the request struct for api ListTagResources
+type ListTagResourcesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer       `position:"Query" name:"ResourceOwnerId"`
+	NextToken            string                 `position:"Query" name:"NextToken"`
+	Tag                  *[]ListTagResourcesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	ResourceId           *[]string              `position:"Query" name:"ResourceId"  type:"Repeated"`
+	ResourceOwnerAccount string                 `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                 `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer       `position:"Query" name:"OwnerId"`
+	ResourceType         string                 `position:"Query" name:"ResourceType"`
+}
+
+// ListTagResourcesTag is a repeated param struct in ListTagResourcesRequest
+type ListTagResourcesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// ListTagResourcesResponse is the response struct for api ListTagResources
+type ListTagResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	NextToken    string       `json:"NextToken" xml:"NextToken"`
+	TagResources TagResources `json:"TagResources" xml:"TagResources"`
+}
+
+// CreateListTagResourcesRequest creates a request to invoke ListTagResources API
+func CreateListTagResourcesRequest() (request *ListTagResourcesRequest) {
+	request = &ListTagResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ListTagResources", "", "")
+	return
+}
+
+// CreateListTagResourcesResponse creates a response to parse from ListTagResources response
+func CreateListTagResourcesResponse() (response *ListTagResourcesResponse) {
+	response = &ListTagResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/migrate_to_other_zone.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// MigrateToOtherZone invokes the r_kvstore.MigrateToOtherZone API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/migratetootherzone.html
+func (client *Client) MigrateToOtherZone(request *MigrateToOtherZoneRequest) (response *MigrateToOtherZoneResponse, err error) {
+	response = CreateMigrateToOtherZoneResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// MigrateToOtherZoneWithChan invokes the r_kvstore.MigrateToOtherZone API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/migratetootherzone.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MigrateToOtherZoneWithChan(request *MigrateToOtherZoneRequest) (<-chan *MigrateToOtherZoneResponse, <-chan error) {
+	responseChan := make(chan *MigrateToOtherZoneResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.MigrateToOtherZone(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// MigrateToOtherZoneWithCallback invokes the r_kvstore.MigrateToOtherZone API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/migratetootherzone.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MigrateToOtherZoneWithCallback(request *MigrateToOtherZoneRequest, callback func(response *MigrateToOtherZoneResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *MigrateToOtherZoneResponse
+		var err error
+		defer close(result)
+		response, err = client.MigrateToOtherZone(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// MigrateToOtherZoneRequest is the request struct for api MigrateToOtherZone
+type MigrateToOtherZoneRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	EffectiveTime        string           `position:"Query" name:"EffectiveTime"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VSwitchId            string           `position:"Query" name:"VSwitchId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// MigrateToOtherZoneResponse is the response struct for api MigrateToOtherZone
+type MigrateToOtherZoneResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateMigrateToOtherZoneRequest creates a request to invoke MigrateToOtherZone API
+func CreateMigrateToOtherZoneRequest() (request *MigrateToOtherZoneRequest) {
+	request = &MigrateToOtherZoneRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "MigrateToOtherZone", "", "")
+	return
+}
+
+// CreateMigrateToOtherZoneResponse creates a response to parse from MigrateToOtherZone response
+func CreateMigrateToOtherZoneResponse() (response *MigrateToOtherZoneResponse) {
+	response = &MigrateToOtherZoneResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/modify_account_description.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyAccountDescription invokes the r_kvstore.ModifyAccountDescription API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyaccountdescription.html
+func (client *Client) ModifyAccountDescription(request *ModifyAccountDescriptionRequest) (response *ModifyAccountDescriptionResponse, err error) {
+	response = CreateModifyAccountDescriptionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAccountDescriptionWithChan invokes the r_kvstore.ModifyAccountDescription API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyaccountdescription.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAccountDescriptionWithChan(request *ModifyAccountDescriptionRequest) (<-chan *ModifyAccountDescriptionResponse, <-chan error) {
+	responseChan := make(chan *ModifyAccountDescriptionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyAccountDescription(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAccountDescriptionWithCallback invokes the r_kvstore.ModifyAccountDescription API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyaccountdescription.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAccountDescriptionWithCallback(request *ModifyAccountDescriptionRequest, callback func(response *ModifyAccountDescriptionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAccountDescriptionResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyAccountDescription(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAccountDescriptionRequest is the request struct for api ModifyAccountDescription
+type ModifyAccountDescriptionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AccountDescription   string           `position:"Query" name:"AccountDescription"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyAccountDescriptionResponse is the response struct for api ModifyAccountDescription
+type ModifyAccountDescriptionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyAccountDescriptionRequest creates a request to invoke ModifyAccountDescription API
+func CreateModifyAccountDescriptionRequest() (request *ModifyAccountDescriptionRequest) {
+	request = &ModifyAccountDescriptionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyAccountDescription", "", "")
+	return
+}
+
+// CreateModifyAccountDescriptionResponse creates a response to parse from ModifyAccountDescription response
+func CreateModifyAccountDescriptionResponse() (response *ModifyAccountDescriptionResponse) {
+	response = &ModifyAccountDescriptionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/modify_audit_log_config.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyAuditLogConfig invokes the r_kvstore.ModifyAuditLogConfig API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyauditlogconfig.html
+func (client *Client) ModifyAuditLogConfig(request *ModifyAuditLogConfigRequest) (response *ModifyAuditLogConfigResponse, err error) {
+	response = CreateModifyAuditLogConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAuditLogConfigWithChan invokes the r_kvstore.ModifyAuditLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyauditlogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAuditLogConfigWithChan(request *ModifyAuditLogConfigRequest) (<-chan *ModifyAuditLogConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyAuditLogConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyAuditLogConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAuditLogConfigWithCallback invokes the r_kvstore.ModifyAuditLogConfig API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyauditlogconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAuditLogConfigWithCallback(request *ModifyAuditLogConfigRequest, callback func(response *ModifyAuditLogConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAuditLogConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyAuditLogConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAuditLogConfigRequest is the request struct for api ModifyAuditLogConfig
+type ModifyAuditLogConfigRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	AuditCommand         string           `position:"Query" name:"AuditCommand"`
+	Retention            string           `position:"Query" name:"Retention"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyAuditLogConfigResponse is the response struct for api ModifyAuditLogConfig
+type ModifyAuditLogConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyAuditLogConfigRequest creates a request to invoke ModifyAuditLogConfig API
+func CreateModifyAuditLogConfigRequest() (request *ModifyAuditLogConfigRequest) {
+	request = &ModifyAuditLogConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyAuditLogConfig", "", "")
+	return
+}
+
+// CreateModifyAuditLogConfigResponse creates a response to parse from ModifyAuditLogConfig response
+func CreateModifyAuditLogConfigResponse() (response *ModifyAuditLogConfigResponse) {
+	response = &ModifyAuditLogConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/modify_backup_policy.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyBackupPolicy invokes the r_kvstore.ModifyBackupPolicy API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifybackuppolicy.html
+func (client *Client) ModifyBackupPolicy(request *ModifyBackupPolicyRequest) (response *ModifyBackupPolicyResponse, err error) {
+	response = CreateModifyBackupPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyBackupPolicyWithChan invokes the r_kvstore.ModifyBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifybackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyBackupPolicyWithChan(request *ModifyBackupPolicyRequest) (<-chan *ModifyBackupPolicyResponse, <-chan error) {
+	responseChan := make(chan *ModifyBackupPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyBackupPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyBackupPolicyWithCallback invokes the r_kvstore.ModifyBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifybackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyBackupPolicyWithCallback(request *ModifyBackupPolicyRequest, callback func(response *ModifyBackupPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyBackupPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyBackupPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyBackupPolicyRequest is the request struct for api ModifyBackupPolicy
+type ModifyBackupPolicyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken         string           `position:"Query" name:"SecurityToken"`
+	EnableBackupLog       requests.Integer `position:"Query" name:"EnableBackupLog"`
+	PreferredBackupPeriod string           `position:"Query" name:"PreferredBackupPeriod"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	PreferredBackupTime   string           `position:"Query" name:"PreferredBackupTime"`
+	InstanceId            string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyBackupPolicyResponse is the response struct for api ModifyBackupPolicy
+type ModifyBackupPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyBackupPolicyRequest creates a request to invoke ModifyBackupPolicy API
+func CreateModifyBackupPolicyRequest() (request *ModifyBackupPolicyRequest) {
+	request = &ModifyBackupPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyBackupPolicy", "", "")
+	return
+}
+
+// CreateModifyBackupPolicyResponse creates a response to parse from ModifyBackupPolicy response
+func CreateModifyBackupPolicyResponse() (response *ModifyBackupPolicyResponse) {
+	response = &ModifyBackupPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/r-kvstore/modify_db_instance_connection_string.go

@@ -0,0 +1,112 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyDBInstanceConnectionString invokes the r_kvstore.ModifyDBInstanceConnectionString API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydbinstanceconnectionstring.html
+func (client *Client) ModifyDBInstanceConnectionString(request *ModifyDBInstanceConnectionStringRequest) (response *ModifyDBInstanceConnectionStringResponse, err error) {
+	response = CreateModifyDBInstanceConnectionStringResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDBInstanceConnectionStringWithChan invokes the r_kvstore.ModifyDBInstanceConnectionString API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydbinstanceconnectionstring.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDBInstanceConnectionStringWithChan(request *ModifyDBInstanceConnectionStringRequest) (<-chan *ModifyDBInstanceConnectionStringResponse, <-chan error) {
+	responseChan := make(chan *ModifyDBInstanceConnectionStringResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyDBInstanceConnectionString(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyDBInstanceConnectionStringWithCallback invokes the r_kvstore.ModifyDBInstanceConnectionString API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydbinstanceconnectionstring.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDBInstanceConnectionStringWithCallback(request *ModifyDBInstanceConnectionStringRequest, callback func(response *ModifyDBInstanceConnectionStringResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyDBInstanceConnectionStringResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyDBInstanceConnectionString(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyDBInstanceConnectionStringRequest is the request struct for api ModifyDBInstanceConnectionString
+type ModifyDBInstanceConnectionStringRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId         requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken           string           `position:"Query" name:"SecurityToken"`
+	DBInstanceId            string           `position:"Query" name:"DBInstanceId"`
+	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
+	NewConnectionString     string           `position:"Query" name:"NewConnectionString"`
+	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
+	IPType                  string           `position:"Query" name:"IPType"`
+	CurrentConnectionString string           `position:"Query" name:"CurrentConnectionString"`
+	Port                    string           `position:"Query" name:"Port"`
+}
+
+// ModifyDBInstanceConnectionStringResponse is the response struct for api ModifyDBInstanceConnectionString
+type ModifyDBInstanceConnectionStringResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyDBInstanceConnectionStringRequest creates a request to invoke ModifyDBInstanceConnectionString API
+func CreateModifyDBInstanceConnectionStringRequest() (request *ModifyDBInstanceConnectionStringRequest) {
+	request = &ModifyDBInstanceConnectionStringRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyDBInstanceConnectionString", "", "")
+	return
+}
+
+// CreateModifyDBInstanceConnectionStringResponse creates a response to parse from ModifyDBInstanceConnectionString response
+func CreateModifyDBInstanceConnectionStringResponse() (response *ModifyDBInstanceConnectionStringResponse) {
+	response = &ModifyDBInstanceConnectionStringResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/r-kvstore/modify_dedicated_instance_spec.go

@@ -0,0 +1,113 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyDedicatedInstanceSpec invokes the r_kvstore.ModifyDedicatedInstanceSpec API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydedicatedinstancespec.html
+func (client *Client) ModifyDedicatedInstanceSpec(request *ModifyDedicatedInstanceSpecRequest) (response *ModifyDedicatedInstanceSpecResponse, err error) {
+	response = CreateModifyDedicatedInstanceSpecResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDedicatedInstanceSpecWithChan invokes the r_kvstore.ModifyDedicatedInstanceSpec API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydedicatedinstancespec.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDedicatedInstanceSpecWithChan(request *ModifyDedicatedInstanceSpecRequest) (<-chan *ModifyDedicatedInstanceSpecResponse, <-chan error) {
+	responseChan := make(chan *ModifyDedicatedInstanceSpecResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyDedicatedInstanceSpec(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyDedicatedInstanceSpecWithCallback invokes the r_kvstore.ModifyDedicatedInstanceSpec API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydedicatedinstancespec.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDedicatedInstanceSpecWithCallback(request *ModifyDedicatedInstanceSpecRequest, callback func(response *ModifyDedicatedInstanceSpecResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyDedicatedInstanceSpecResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyDedicatedInstanceSpec(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyDedicatedInstanceSpecRequest is the request struct for api ModifyDedicatedInstanceSpec
+type ModifyDedicatedInstanceSpecRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceClass        string           `position:"Query" name:"InstanceClass"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	EffectiveTime        string           `position:"Query" name:"EffectiveTime"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+	ForceUpgrade         requests.Boolean `position:"Query" name:"ForceUpgrade"`
+}
+
+// ModifyDedicatedInstanceSpecResponse is the response struct for api ModifyDedicatedInstanceSpec
+type ModifyDedicatedInstanceSpecResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyDedicatedInstanceSpecRequest creates a request to invoke ModifyDedicatedInstanceSpec API
+func CreateModifyDedicatedInstanceSpecRequest() (request *ModifyDedicatedInstanceSpecRequest) {
+	request = &ModifyDedicatedInstanceSpecRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyDedicatedInstanceSpec", "", "")
+	return
+}
+
+// CreateModifyDedicatedInstanceSpecResponse creates a response to parse from ModifyDedicatedInstanceSpec response
+func CreateModifyDedicatedInstanceSpecResponse() (response *ModifyDedicatedInstanceSpecResponse) {
+	response = &ModifyDedicatedInstanceSpecResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/r-kvstore/modify_dedicated_user_cluster.go

@@ -0,0 +1,116 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyDedicatedUserCluster invokes the r_kvstore.ModifyDedicatedUserCluster API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydedicatedusercluster.html
+func (client *Client) ModifyDedicatedUserCluster(request *ModifyDedicatedUserClusterRequest) (response *ModifyDedicatedUserClusterResponse, err error) {
+	response = CreateModifyDedicatedUserClusterResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDedicatedUserClusterWithChan invokes the r_kvstore.ModifyDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydedicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDedicatedUserClusterWithChan(request *ModifyDedicatedUserClusterRequest) (<-chan *ModifyDedicatedUserClusterResponse, <-chan error) {
+	responseChan := make(chan *ModifyDedicatedUserClusterResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyDedicatedUserCluster(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyDedicatedUserClusterWithCallback invokes the r_kvstore.ModifyDedicatedUserCluster API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifydedicatedusercluster.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDedicatedUserClusterWithCallback(request *ModifyDedicatedUserClusterRequest, callback func(response *ModifyDedicatedUserClusterResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyDedicatedUserClusterResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyDedicatedUserCluster(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyDedicatedUserClusterRequest is the request struct for api ModifyDedicatedUserCluster
+type ModifyDedicatedUserClusterRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClusterName               string           `position:"Query" name:"ClusterName"`
+	SecurityToken             string           `position:"Query" name:"SecurityToken"`
+	Engine                    string           `position:"Query" name:"Engine"`
+	DiskOverAllocationRatio   requests.Integer `position:"Query" name:"DiskOverAllocationRatio"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
+	ClusterId                 string           `position:"Query" name:"ClusterId"`
+	MemoryOverAllocationRatio requests.Integer `position:"Query" name:"MemoryOverAllocationRatio"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
+	HostReplacePolicy         string           `position:"Query" name:"HostReplacePolicy"`
+	AllocationPolicy          string           `position:"Query" name:"AllocationPolicy"`
+	ZoneId                    string           `position:"Query" name:"ZoneId"`
+	CpuOverAllocationRatio    requests.Integer `position:"Query" name:"CpuOverAllocationRatio"`
+}
+
+// ModifyDedicatedUserClusterResponse is the response struct for api ModifyDedicatedUserCluster
+type ModifyDedicatedUserClusterResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyDedicatedUserClusterRequest creates a request to invoke ModifyDedicatedUserCluster API
+func CreateModifyDedicatedUserClusterRequest() (request *ModifyDedicatedUserClusterRequest) {
+	request = &ModifyDedicatedUserClusterRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyDedicatedUserCluster", "", "")
+	return
+}
+
+// CreateModifyDedicatedUserClusterResponse creates a response to parse from ModifyDedicatedUserCluster response
+func CreateModifyDedicatedUserClusterResponse() (response *ModifyDedicatedUserClusterResponse) {
+	response = &ModifyDedicatedUserClusterResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/modify_instance_attribute.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceAttribute invokes the r_kvstore.ModifyInstanceAttribute API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceattribute.html
+func (client *Client) ModifyInstanceAttribute(request *ModifyInstanceAttributeRequest) (response *ModifyInstanceAttributeResponse, err error) {
+	response = CreateModifyInstanceAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceAttributeWithChan invokes the r_kvstore.ModifyInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceAttributeWithChan(request *ModifyInstanceAttributeRequest) (<-chan *ModifyInstanceAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceAttributeWithCallback invokes the r_kvstore.ModifyInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceAttributeWithCallback(request *ModifyInstanceAttributeRequest, callback func(response *ModifyInstanceAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceAttributeRequest is the request struct for api ModifyInstanceAttribute
+type ModifyInstanceAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	NewPassword          string           `position:"Query" name:"NewPassword"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	InstanceName         string           `position:"Query" name:"InstanceName"`
+}
+
+// ModifyInstanceAttributeResponse is the response struct for api ModifyInstanceAttribute
+type ModifyInstanceAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceAttributeRequest creates a request to invoke ModifyInstanceAttribute API
+func CreateModifyInstanceAttributeRequest() (request *ModifyInstanceAttributeRequest) {
+	request = &ModifyInstanceAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceAttribute", "", "")
+	return
+}
+
+// CreateModifyInstanceAttributeResponse creates a response to parse from ModifyInstanceAttribute response
+func CreateModifyInstanceAttributeResponse() (response *ModifyInstanceAttributeResponse) {
+	response = &ModifyInstanceAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/modify_instance_auto_renewal_attribute.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceAutoRenewalAttribute invokes the r_kvstore.ModifyInstanceAutoRenewalAttribute API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceautorenewalattribute.html
+func (client *Client) ModifyInstanceAutoRenewalAttribute(request *ModifyInstanceAutoRenewalAttributeRequest) (response *ModifyInstanceAutoRenewalAttributeResponse, err error) {
+	response = CreateModifyInstanceAutoRenewalAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceAutoRenewalAttributeWithChan invokes the r_kvstore.ModifyInstanceAutoRenewalAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceautorenewalattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceAutoRenewalAttributeWithChan(request *ModifyInstanceAutoRenewalAttributeRequest) (<-chan *ModifyInstanceAutoRenewalAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceAutoRenewalAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceAutoRenewalAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceAutoRenewalAttributeWithCallback invokes the r_kvstore.ModifyInstanceAutoRenewalAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceautorenewalattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceAutoRenewalAttributeWithCallback(request *ModifyInstanceAutoRenewalAttributeRequest, callback func(response *ModifyInstanceAutoRenewalAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceAutoRenewalAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceAutoRenewalAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceAutoRenewalAttributeRequest is the request struct for api ModifyInstanceAutoRenewalAttribute
+type ModifyInstanceAutoRenewalAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Duration             string           `position:"Query" name:"Duration"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AutoRenew            string           `position:"Query" name:"AutoRenew"`
+}
+
+// ModifyInstanceAutoRenewalAttributeResponse is the response struct for api ModifyInstanceAutoRenewalAttribute
+type ModifyInstanceAutoRenewalAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceAutoRenewalAttributeRequest creates a request to invoke ModifyInstanceAutoRenewalAttribute API
+func CreateModifyInstanceAutoRenewalAttributeRequest() (request *ModifyInstanceAutoRenewalAttributeRequest) {
+	request = &ModifyInstanceAutoRenewalAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceAutoRenewalAttribute", "", "")
+	return
+}
+
+// CreateModifyInstanceAutoRenewalAttributeResponse creates a response to parse from ModifyInstanceAutoRenewalAttribute response
+func CreateModifyInstanceAutoRenewalAttributeResponse() (response *ModifyInstanceAutoRenewalAttributeResponse) {
+	response = &ModifyInstanceAutoRenewalAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/modify_instance_config.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceConfig invokes the r_kvstore.ModifyInstanceConfig API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceconfig.html
+func (client *Client) ModifyInstanceConfig(request *ModifyInstanceConfigRequest) (response *ModifyInstanceConfigResponse, err error) {
+	response = CreateModifyInstanceConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceConfigWithChan invokes the r_kvstore.ModifyInstanceConfig API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceConfigWithChan(request *ModifyInstanceConfigRequest) (<-chan *ModifyInstanceConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceConfigWithCallback invokes the r_kvstore.ModifyInstanceConfig API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceConfigWithCallback(request *ModifyInstanceConfigRequest, callback func(response *ModifyInstanceConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceConfigRequest is the request struct for api ModifyInstanceConfig
+type ModifyInstanceConfigRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	Config               string           `position:"Query" name:"Config"`
+}
+
+// ModifyInstanceConfigResponse is the response struct for api ModifyInstanceConfig
+type ModifyInstanceConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceConfigRequest creates a request to invoke ModifyInstanceConfig API
+func CreateModifyInstanceConfigRequest() (request *ModifyInstanceConfigRequest) {
+	request = &ModifyInstanceConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceConfig", "", "")
+	return
+}
+
+// CreateModifyInstanceConfigResponse creates a response to parse from ModifyInstanceConfig response
+func CreateModifyInstanceConfigResponse() (response *ModifyInstanceConfigResponse) {
+	response = &ModifyInstanceConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/modify_instance_maintain_time.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceMaintainTime invokes the r_kvstore.ModifyInstanceMaintainTime API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancemaintaintime.html
+func (client *Client) ModifyInstanceMaintainTime(request *ModifyInstanceMaintainTimeRequest) (response *ModifyInstanceMaintainTimeResponse, err error) {
+	response = CreateModifyInstanceMaintainTimeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceMaintainTimeWithChan invokes the r_kvstore.ModifyInstanceMaintainTime API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancemaintaintime.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceMaintainTimeWithChan(request *ModifyInstanceMaintainTimeRequest) (<-chan *ModifyInstanceMaintainTimeResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceMaintainTimeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceMaintainTime(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceMaintainTimeWithCallback invokes the r_kvstore.ModifyInstanceMaintainTime API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancemaintaintime.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceMaintainTimeWithCallback(request *ModifyInstanceMaintainTimeRequest, callback func(response *ModifyInstanceMaintainTimeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceMaintainTimeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceMaintainTime(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceMaintainTimeRequest is the request struct for api ModifyInstanceMaintainTime
+type ModifyInstanceMaintainTimeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	MaintainStartTime    string           `position:"Query" name:"MaintainStartTime"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	MaintainEndTime      string           `position:"Query" name:"MaintainEndTime"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyInstanceMaintainTimeResponse is the response struct for api ModifyInstanceMaintainTime
+type ModifyInstanceMaintainTimeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceMaintainTimeRequest creates a request to invoke ModifyInstanceMaintainTime API
+func CreateModifyInstanceMaintainTimeRequest() (request *ModifyInstanceMaintainTimeRequest) {
+	request = &ModifyInstanceMaintainTimeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceMaintainTime", "", "")
+	return
+}
+
+// CreateModifyInstanceMaintainTimeResponse creates a response to parse from ModifyInstanceMaintainTime response
+func CreateModifyInstanceMaintainTimeResponse() (response *ModifyInstanceMaintainTimeResponse) {
+	response = &ModifyInstanceMaintainTimeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/modify_instance_major_version.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceMajorVersion invokes the r_kvstore.ModifyInstanceMajorVersion API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancemajorversion.html
+func (client *Client) ModifyInstanceMajorVersion(request *ModifyInstanceMajorVersionRequest) (response *ModifyInstanceMajorVersionResponse, err error) {
+	response = CreateModifyInstanceMajorVersionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceMajorVersionWithChan invokes the r_kvstore.ModifyInstanceMajorVersion API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancemajorversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceMajorVersionWithChan(request *ModifyInstanceMajorVersionRequest) (<-chan *ModifyInstanceMajorVersionResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceMajorVersionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceMajorVersion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceMajorVersionWithCallback invokes the r_kvstore.ModifyInstanceMajorVersion API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancemajorversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceMajorVersionWithCallback(request *ModifyInstanceMajorVersionRequest, callback func(response *ModifyInstanceMajorVersionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceMajorVersionResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceMajorVersion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceMajorVersionRequest is the request struct for api ModifyInstanceMajorVersion
+type ModifyInstanceMajorVersionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	EffectTime           string           `position:"Query" name:"EffectTime"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	MajorVersion         string           `position:"Query" name:"MajorVersion"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyInstanceMajorVersionResponse is the response struct for api ModifyInstanceMajorVersion
+type ModifyInstanceMajorVersionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceMajorVersionRequest creates a request to invoke ModifyInstanceMajorVersion API
+func CreateModifyInstanceMajorVersionRequest() (request *ModifyInstanceMajorVersionRequest) {
+	request = &ModifyInstanceMajorVersionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceMajorVersion", "", "")
+	return
+}
+
+// CreateModifyInstanceMajorVersionResponse creates a response to parse from ModifyInstanceMajorVersion response
+func CreateModifyInstanceMajorVersionResponse() (response *ModifyInstanceMajorVersionResponse) {
+	response = &ModifyInstanceMajorVersionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/modify_instance_minor_version.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceMinorVersion invokes the r_kvstore.ModifyInstanceMinorVersion API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceminorversion.html
+func (client *Client) ModifyInstanceMinorVersion(request *ModifyInstanceMinorVersionRequest) (response *ModifyInstanceMinorVersionResponse, err error) {
+	response = CreateModifyInstanceMinorVersionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceMinorVersionWithChan invokes the r_kvstore.ModifyInstanceMinorVersion API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceminorversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceMinorVersionWithChan(request *ModifyInstanceMinorVersionRequest) (<-chan *ModifyInstanceMinorVersionResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceMinorVersionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceMinorVersion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceMinorVersionWithCallback invokes the r_kvstore.ModifyInstanceMinorVersion API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstanceminorversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceMinorVersionWithCallback(request *ModifyInstanceMinorVersionRequest, callback func(response *ModifyInstanceMinorVersionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceMinorVersionResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceMinorVersion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceMinorVersionRequest is the request struct for api ModifyInstanceMinorVersion
+type ModifyInstanceMinorVersionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	EffectTime           string           `position:"Query" name:"EffectTime"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	Minorversion         string           `position:"Query" name:"Minorversion"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyInstanceMinorVersionResponse is the response struct for api ModifyInstanceMinorVersion
+type ModifyInstanceMinorVersionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceMinorVersionRequest creates a request to invoke ModifyInstanceMinorVersion API
+func CreateModifyInstanceMinorVersionRequest() (request *ModifyInstanceMinorVersionRequest) {
+	request = &ModifyInstanceMinorVersionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceMinorVersion", "", "")
+	return
+}
+
+// CreateModifyInstanceMinorVersionResponse creates a response to parse from ModifyInstanceMinorVersion response
+func CreateModifyInstanceMinorVersionResponse() (response *ModifyInstanceMinorVersionResponse) {
+	response = &ModifyInstanceMinorVersionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/r-kvstore/modify_instance_net_expire_time.go

@@ -0,0 +1,112 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceNetExpireTime invokes the r_kvstore.ModifyInstanceNetExpireTime API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancenetexpiretime.html
+func (client *Client) ModifyInstanceNetExpireTime(request *ModifyInstanceNetExpireTimeRequest) (response *ModifyInstanceNetExpireTimeResponse, err error) {
+	response = CreateModifyInstanceNetExpireTimeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceNetExpireTimeWithChan invokes the r_kvstore.ModifyInstanceNetExpireTime API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancenetexpiretime.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceNetExpireTimeWithChan(request *ModifyInstanceNetExpireTimeRequest) (<-chan *ModifyInstanceNetExpireTimeResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceNetExpireTimeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceNetExpireTime(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceNetExpireTimeWithCallback invokes the r_kvstore.ModifyInstanceNetExpireTime API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancenetexpiretime.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceNetExpireTimeWithCallback(request *ModifyInstanceNetExpireTimeRequest, callback func(response *ModifyInstanceNetExpireTimeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceNetExpireTimeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceNetExpireTime(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceNetExpireTimeRequest is the request struct for api ModifyInstanceNetExpireTime
+type ModifyInstanceNetExpireTimeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ConnectionString     string           `position:"Query" name:"ConnectionString"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ClassicExpiredDays   requests.Integer `position:"Query" name:"ClassicExpiredDays"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyInstanceNetExpireTimeResponse is the response struct for api ModifyInstanceNetExpireTime
+type ModifyInstanceNetExpireTimeResponse struct {
+	*responses.BaseResponse
+	RequestId    string                                    `json:"RequestId" xml:"RequestId"`
+	InstanceId   string                                    `json:"InstanceId" xml:"InstanceId"`
+	NetInfoItems NetInfoItemsInModifyInstanceNetExpireTime `json:"NetInfoItems" xml:"NetInfoItems"`
+}
+
+// CreateModifyInstanceNetExpireTimeRequest creates a request to invoke ModifyInstanceNetExpireTime API
+func CreateModifyInstanceNetExpireTimeRequest() (request *ModifyInstanceNetExpireTimeRequest) {
+	request = &ModifyInstanceNetExpireTimeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceNetExpireTime", "", "")
+	return
+}
+
+// CreateModifyInstanceNetExpireTimeResponse creates a response to parse from ModifyInstanceNetExpireTime response
+func CreateModifyInstanceNetExpireTimeResponse() (response *ModifyInstanceNetExpireTimeResponse) {
+	response = &ModifyInstanceNetExpireTimeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/r-kvstore/modify_instance_spec.go

@@ -0,0 +1,117 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceSpec invokes the r_kvstore.ModifyInstanceSpec API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancespec.html
+func (client *Client) ModifyInstanceSpec(request *ModifyInstanceSpecRequest) (response *ModifyInstanceSpecResponse, err error) {
+	response = CreateModifyInstanceSpecResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceSpecWithChan invokes the r_kvstore.ModifyInstanceSpec API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancespec.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceSpecWithChan(request *ModifyInstanceSpecRequest) (<-chan *ModifyInstanceSpecResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceSpecResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceSpec(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceSpecWithCallback invokes the r_kvstore.ModifyInstanceSpec API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancespec.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceSpecWithCallback(request *ModifyInstanceSpecRequest, callback func(response *ModifyInstanceSpecResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceSpecResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceSpec(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceSpecRequest is the request struct for api ModifyInstanceSpec
+type ModifyInstanceSpecRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CouponNo             string           `position:"Query" name:"CouponNo"`
+	InstanceClass        string           `position:"Query" name:"InstanceClass"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	EffectiveTime        string           `position:"Query" name:"EffectiveTime"`
+	BusinessInfo         string           `position:"Query" name:"BusinessInfo"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	FromApp              string           `position:"Query" name:"FromApp"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	ForceUpgrade         requests.Boolean `position:"Query" name:"ForceUpgrade"`
+	OrderType            string           `position:"Query" name:"OrderType"`
+}
+
+// ModifyInstanceSpecResponse is the response struct for api ModifyInstanceSpec
+type ModifyInstanceSpecResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+}
+
+// CreateModifyInstanceSpecRequest creates a request to invoke ModifyInstanceSpec API
+func CreateModifyInstanceSpecRequest() (request *ModifyInstanceSpecRequest) {
+	request = &ModifyInstanceSpecRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceSpec", "", "")
+	return
+}
+
+// CreateModifyInstanceSpecResponse creates a response to parse from ModifyInstanceSpec response
+func CreateModifyInstanceSpecResponse() (response *ModifyInstanceSpecResponse) {
+	response = &ModifyInstanceSpecResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/modify_instance_ssl.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceSSL invokes the r_kvstore.ModifyInstanceSSL API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancessl.html
+func (client *Client) ModifyInstanceSSL(request *ModifyInstanceSSLRequest) (response *ModifyInstanceSSLResponse, err error) {
+	response = CreateModifyInstanceSSLResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceSSLWithChan invokes the r_kvstore.ModifyInstanceSSL API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancessl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceSSLWithChan(request *ModifyInstanceSSLRequest) (<-chan *ModifyInstanceSSLResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceSSLResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceSSL(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceSSLWithCallback invokes the r_kvstore.ModifyInstanceSSL API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancessl.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceSSLWithCallback(request *ModifyInstanceSSLRequest, callback func(response *ModifyInstanceSSLResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceSSLResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceSSL(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceSSLRequest is the request struct for api ModifyInstanceSSL
+type ModifyInstanceSSLRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SSLEnabled           string           `position:"Query" name:"SSLEnabled"`
+}
+
+// ModifyInstanceSSLResponse is the response struct for api ModifyInstanceSSL
+type ModifyInstanceSSLResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	TaskId     string `json:"TaskId" xml:"TaskId"`
+}
+
+// CreateModifyInstanceSSLRequest creates a request to invoke ModifyInstanceSSL API
+func CreateModifyInstanceSSLRequest() (request *ModifyInstanceSSLRequest) {
+	request = &ModifyInstanceSSLRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceSSL", "", "")
+	return
+}
+
+// CreateModifyInstanceSSLResponse creates a response to parse from ModifyInstanceSSL response
+func CreateModifyInstanceSSLResponse() (response *ModifyInstanceSSLResponse) {
+	response = &ModifyInstanceSSLResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/modify_instance_vpc_auth_mode.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyInstanceVpcAuthMode invokes the r_kvstore.ModifyInstanceVpcAuthMode API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancevpcauthmode.html
+func (client *Client) ModifyInstanceVpcAuthMode(request *ModifyInstanceVpcAuthModeRequest) (response *ModifyInstanceVpcAuthModeResponse, err error) {
+	response = CreateModifyInstanceVpcAuthModeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceVpcAuthModeWithChan invokes the r_kvstore.ModifyInstanceVpcAuthMode API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancevpcauthmode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceVpcAuthModeWithChan(request *ModifyInstanceVpcAuthModeRequest) (<-chan *ModifyInstanceVpcAuthModeResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceVpcAuthModeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceVpcAuthMode(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceVpcAuthModeWithCallback invokes the r_kvstore.ModifyInstanceVpcAuthMode API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyinstancevpcauthmode.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceVpcAuthModeWithCallback(request *ModifyInstanceVpcAuthModeRequest, callback func(response *ModifyInstanceVpcAuthModeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceVpcAuthModeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceVpcAuthMode(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceVpcAuthModeRequest is the request struct for api ModifyInstanceVpcAuthMode
+type ModifyInstanceVpcAuthModeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	VpcAuthMode          string           `position:"Query" name:"VpcAuthMode"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyInstanceVpcAuthModeResponse is the response struct for api ModifyInstanceVpcAuthMode
+type ModifyInstanceVpcAuthModeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceVpcAuthModeRequest creates a request to invoke ModifyInstanceVpcAuthMode API
+func CreateModifyInstanceVpcAuthModeRequest() (request *ModifyInstanceVpcAuthModeRequest) {
+	request = &ModifyInstanceVpcAuthModeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyInstanceVpcAuthMode", "", "")
+	return
+}
+
+// CreateModifyInstanceVpcAuthModeResponse creates a response to parse from ModifyInstanceVpcAuthMode response
+func CreateModifyInstanceVpcAuthModeResponse() (response *ModifyInstanceVpcAuthModeResponse) {
+	response = &ModifyInstanceVpcAuthModeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/r-kvstore/modify_intranet_attribute.go

@@ -0,0 +1,108 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyIntranetAttribute invokes the r_kvstore.ModifyIntranetAttribute API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyintranetattribute.html
+func (client *Client) ModifyIntranetAttribute(request *ModifyIntranetAttributeRequest) (response *ModifyIntranetAttributeResponse, err error) {
+	response = CreateModifyIntranetAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIntranetAttributeWithChan invokes the r_kvstore.ModifyIntranetAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyintranetattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIntranetAttributeWithChan(request *ModifyIntranetAttributeRequest) (<-chan *ModifyIntranetAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyIntranetAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIntranetAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIntranetAttributeWithCallback invokes the r_kvstore.ModifyIntranetAttribute API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyintranetattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIntranetAttributeWithCallback(request *ModifyIntranetAttributeRequest, callback func(response *ModifyIntranetAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIntranetAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIntranetAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIntranetAttributeRequest is the request struct for api ModifyIntranetAttribute
+type ModifyIntranetAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ModifyIntranetAttributeResponse is the response struct for api ModifyIntranetAttribute
+type ModifyIntranetAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIntranetAttributeRequest creates a request to invoke ModifyIntranetAttribute API
+func CreateModifyIntranetAttributeRequest() (request *ModifyIntranetAttributeRequest) {
+	request = &ModifyIntranetAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyIntranetAttribute", "", "")
+	return
+}
+
+// CreateModifyIntranetAttributeResponse creates a response to parse from ModifyIntranetAttribute response
+func CreateModifyIntranetAttributeResponse() (response *ModifyIntranetAttributeResponse) {
+	response = &ModifyIntranetAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/r-kvstore/modify_security_ips.go

@@ -0,0 +1,112 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifySecurityIps invokes the r_kvstore.ModifySecurityIps API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifysecurityips.html
+func (client *Client) ModifySecurityIps(request *ModifySecurityIpsRequest) (response *ModifySecurityIpsResponse, err error) {
+	response = CreateModifySecurityIpsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySecurityIpsWithChan invokes the r_kvstore.ModifySecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifysecurityips.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySecurityIpsWithChan(request *ModifySecurityIpsRequest) (<-chan *ModifySecurityIpsResponse, <-chan error) {
+	responseChan := make(chan *ModifySecurityIpsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifySecurityIps(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifySecurityIpsWithCallback invokes the r_kvstore.ModifySecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifysecurityips.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySecurityIpsWithCallback(request *ModifySecurityIpsRequest, callback func(response *ModifySecurityIpsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifySecurityIpsResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifySecurityIps(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifySecurityIpsRequest is the request struct for api ModifySecurityIps
+type ModifySecurityIpsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityIps              string           `position:"Query" name:"SecurityIps"`
+	SecurityIpGroupName      string           `position:"Query" name:"SecurityIpGroupName"`
+	SecurityToken            string           `position:"Query" name:"SecurityToken"`
+	ModifyMode               string           `position:"Query" name:"ModifyMode"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount             string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId               string           `position:"Query" name:"InstanceId"`
+	SecurityIpGroupAttribute string           `position:"Query" name:"SecurityIpGroupAttribute"`
+}
+
+// ModifySecurityIpsResponse is the response struct for api ModifySecurityIps
+type ModifySecurityIpsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifySecurityIpsRequest creates a request to invoke ModifySecurityIps API
+func CreateModifySecurityIpsRequest() (request *ModifySecurityIpsRequest) {
+	request = &ModifySecurityIpsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifySecurityIps", "", "")
+	return
+}
+
+// CreateModifySecurityIpsResponse creates a response to parse from ModifySecurityIps response
+func CreateModifySecurityIpsResponse() (response *ModifySecurityIpsResponse) {
+	response = &ModifySecurityIpsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/r-kvstore/modify_user_cluster_host.go

@@ -0,0 +1,112 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ModifyUserClusterHost invokes the r_kvstore.ModifyUserClusterHost API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyuserclusterhost.html
+func (client *Client) ModifyUserClusterHost(request *ModifyUserClusterHostRequest) (response *ModifyUserClusterHostResponse, err error) {
+	response = CreateModifyUserClusterHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyUserClusterHostWithChan invokes the r_kvstore.ModifyUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyUserClusterHostWithChan(request *ModifyUserClusterHostRequest) (<-chan *ModifyUserClusterHostResponse, <-chan error) {
+	responseChan := make(chan *ModifyUserClusterHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyUserClusterHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyUserClusterHostWithCallback invokes the r_kvstore.ModifyUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/modifyuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyUserClusterHostWithCallback(request *ModifyUserClusterHostRequest, callback func(response *ModifyUserClusterHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyUserClusterHostResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyUserClusterHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyUserClusterHostRequest is the request struct for api ModifyUserClusterHost
+type ModifyUserClusterHostRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	HostId               string           `position:"Query" name:"HostId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	AllocationStatus     requests.Integer `position:"Query" name:"AllocationStatus"`
+	Engine               string           `position:"Query" name:"Engine"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// ModifyUserClusterHostResponse is the response struct for api ModifyUserClusterHost
+type ModifyUserClusterHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyUserClusterHostRequest creates a request to invoke ModifyUserClusterHost API
+func CreateModifyUserClusterHostRequest() (request *ModifyUserClusterHostRequest) {
+	request = &ModifyUserClusterHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ModifyUserClusterHost", "", "")
+	return
+}
+
+// CreateModifyUserClusterHostResponse creates a response to parse from ModifyUserClusterHost response
+func CreateModifyUserClusterHostResponse() (response *ModifyUserClusterHostResponse) {
+	response = &ModifyUserClusterHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/r-kvstore/release_instance_public_connection.go

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ReleaseInstancePublicConnection invokes the r_kvstore.ReleaseInstancePublicConnection API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/releaseinstancepublicconnection.html
+func (client *Client) ReleaseInstancePublicConnection(request *ReleaseInstancePublicConnectionRequest) (response *ReleaseInstancePublicConnectionResponse, err error) {
+	response = CreateReleaseInstancePublicConnectionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ReleaseInstancePublicConnectionWithChan invokes the r_kvstore.ReleaseInstancePublicConnection API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/releaseinstancepublicconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReleaseInstancePublicConnectionWithChan(request *ReleaseInstancePublicConnectionRequest) (<-chan *ReleaseInstancePublicConnectionResponse, <-chan error) {
+	responseChan := make(chan *ReleaseInstancePublicConnectionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReleaseInstancePublicConnection(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ReleaseInstancePublicConnectionWithCallback invokes the r_kvstore.ReleaseInstancePublicConnection API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/releaseinstancepublicconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReleaseInstancePublicConnectionWithCallback(request *ReleaseInstancePublicConnectionRequest, callback func(response *ReleaseInstancePublicConnectionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReleaseInstancePublicConnectionResponse
+		var err error
+		defer close(result)
+		response, err = client.ReleaseInstancePublicConnection(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ReleaseInstancePublicConnectionRequest is the request struct for api ReleaseInstancePublicConnection
+type ReleaseInstancePublicConnectionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId         requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken           string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
+	CurrentConnectionString string           `position:"Query" name:"CurrentConnectionString"`
+	InstanceId              string           `position:"Query" name:"InstanceId"`
+}
+
+// ReleaseInstancePublicConnectionResponse is the response struct for api ReleaseInstancePublicConnection
+type ReleaseInstancePublicConnectionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateReleaseInstancePublicConnectionRequest creates a request to invoke ReleaseInstancePublicConnection API
+func CreateReleaseInstancePublicConnectionRequest() (request *ReleaseInstancePublicConnectionRequest) {
+	request = &ReleaseInstancePublicConnectionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ReleaseInstancePublicConnection", "", "")
+	return
+}
+
+// CreateReleaseInstancePublicConnectionResponse creates a response to parse from ReleaseInstancePublicConnection response
+func CreateReleaseInstancePublicConnectionResponse() (response *ReleaseInstancePublicConnectionResponse) {
+	response = &ReleaseInstancePublicConnectionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/r-kvstore/renew_instance.go

@@ -0,0 +1,118 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RenewInstance invokes the r_kvstore.RenewInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/renewinstance.html
+func (client *Client) RenewInstance(request *RenewInstanceRequest) (response *RenewInstanceResponse, err error) {
+	response = CreateRenewInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RenewInstanceWithChan invokes the r_kvstore.RenewInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/renewinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RenewInstanceWithChan(request *RenewInstanceRequest) (<-chan *RenewInstanceResponse, <-chan error) {
+	responseChan := make(chan *RenewInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RenewInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RenewInstanceWithCallback invokes the r_kvstore.RenewInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/renewinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RenewInstanceWithCallback(request *RenewInstanceRequest, callback func(response *RenewInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RenewInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RenewInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RenewInstanceRequest is the request struct for api RenewInstance
+type RenewInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	CouponNo             string           `position:"Query" name:"CouponNo"`
+	InstanceClass        string           `position:"Query" name:"InstanceClass"`
+	Capacity             string           `position:"Query" name:"Capacity"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	BusinessInfo         string           `position:"Query" name:"BusinessInfo"`
+	Period               requests.Integer `position:"Query" name:"Period"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	FromApp              string           `position:"Query" name:"FromApp"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	ForceUpgrade         requests.Boolean `position:"Query" name:"ForceUpgrade"`
+}
+
+// RenewInstanceResponse is the response struct for api RenewInstance
+type RenewInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+	EndTime   string `json:"EndTime" xml:"EndTime"`
+}
+
+// CreateRenewInstanceRequest creates a request to invoke RenewInstance API
+func CreateRenewInstanceRequest() (request *RenewInstanceRequest) {
+	request = &RenewInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "RenewInstance", "", "")
+	return
+}
+
+// CreateRenewInstanceResponse creates a response to parse from RenewInstance response
+func CreateRenewInstanceResponse() (response *RenewInstanceResponse) {
+	response = &RenewInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/r-kvstore/replace_user_cluster_host.go

@@ -0,0 +1,112 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ReplaceUserClusterHost invokes the r_kvstore.ReplaceUserClusterHost API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/replaceuserclusterhost.html
+func (client *Client) ReplaceUserClusterHost(request *ReplaceUserClusterHostRequest) (response *ReplaceUserClusterHostResponse, err error) {
+	response = CreateReplaceUserClusterHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ReplaceUserClusterHostWithChan invokes the r_kvstore.ReplaceUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/replaceuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReplaceUserClusterHostWithChan(request *ReplaceUserClusterHostRequest) (<-chan *ReplaceUserClusterHostResponse, <-chan error) {
+	responseChan := make(chan *ReplaceUserClusterHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReplaceUserClusterHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ReplaceUserClusterHostWithCallback invokes the r_kvstore.ReplaceUserClusterHost API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/replaceuserclusterhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ReplaceUserClusterHostWithCallback(request *ReplaceUserClusterHostRequest, callback func(response *ReplaceUserClusterHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReplaceUserClusterHostResponse
+		var err error
+		defer close(result)
+		response, err = client.ReplaceUserClusterHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ReplaceUserClusterHostRequest is the request struct for api ReplaceUserClusterHost
+type ReplaceUserClusterHostRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	HostId               string           `position:"Query" name:"HostId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Engine               string           `position:"Query" name:"Engine"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	ClusterId            string           `position:"Query" name:"ClusterId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// ReplaceUserClusterHostResponse is the response struct for api ReplaceUserClusterHost
+type ReplaceUserClusterHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	NewHostId string `json:"NewHostId" xml:"NewHostId"`
+}
+
+// CreateReplaceUserClusterHostRequest creates a request to invoke ReplaceUserClusterHost API
+func CreateReplaceUserClusterHostRequest() (request *ReplaceUserClusterHostRequest) {
+	request = &ReplaceUserClusterHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ReplaceUserClusterHost", "", "")
+	return
+}
+
+// CreateReplaceUserClusterHostResponse creates a response to parse from ReplaceUserClusterHost response
+func CreateReplaceUserClusterHostResponse() (response *ReplaceUserClusterHostResponse) {
+	response = &ReplaceUserClusterHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/r-kvstore/reset_account_password.go

@@ -0,0 +1,110 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// ResetAccountPassword invokes the r_kvstore.ResetAccountPassword API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/resetaccountpassword.html
+func (client *Client) ResetAccountPassword(request *ResetAccountPasswordRequest) (response *ResetAccountPasswordResponse, err error) {
+	response = CreateResetAccountPasswordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResetAccountPasswordWithChan invokes the r_kvstore.ResetAccountPassword API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/resetaccountpassword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetAccountPasswordWithChan(request *ResetAccountPasswordRequest) (<-chan *ResetAccountPasswordResponse, <-chan error) {
+	responseChan := make(chan *ResetAccountPasswordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ResetAccountPassword(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ResetAccountPasswordWithCallback invokes the r_kvstore.ResetAccountPassword API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/resetaccountpassword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ResetAccountPasswordWithCallback(request *ResetAccountPasswordRequest, callback func(response *ResetAccountPasswordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ResetAccountPasswordResponse
+		var err error
+		defer close(result)
+		response, err = client.ResetAccountPassword(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ResetAccountPasswordRequest is the request struct for api ResetAccountPassword
+type ResetAccountPasswordRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AccountPassword      string           `position:"Query" name:"AccountPassword"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// ResetAccountPasswordResponse is the response struct for api ResetAccountPassword
+type ResetAccountPasswordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateResetAccountPasswordRequest creates a request to invoke ResetAccountPassword API
+func CreateResetAccountPasswordRequest() (request *ResetAccountPasswordRequest) {
+	request = &ResetAccountPasswordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "ResetAccountPassword", "", "")
+	return
+}
+
+// CreateResetAccountPasswordResponse creates a response to parse from ResetAccountPassword response
+func CreateResetAccountPasswordResponse() (response *ResetAccountPasswordResponse) {
+	response = &ResetAccountPasswordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/restart_instance.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RestartInstance invokes the r_kvstore.RestartInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/restartinstance.html
+func (client *Client) RestartInstance(request *RestartInstanceRequest) (response *RestartInstanceResponse, err error) {
+	response = CreateRestartInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RestartInstanceWithChan invokes the r_kvstore.RestartInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/restartinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestartInstanceWithChan(request *RestartInstanceRequest) (<-chan *RestartInstanceResponse, <-chan error) {
+	responseChan := make(chan *RestartInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RestartInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RestartInstanceWithCallback invokes the r_kvstore.RestartInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/restartinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestartInstanceWithCallback(request *RestartInstanceRequest, callback func(response *RestartInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RestartInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RestartInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RestartInstanceRequest is the request struct for api RestartInstance
+type RestartInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	EffectiveTime        string           `position:"Query" name:"EffectiveTime"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// RestartInstanceResponse is the response struct for api RestartInstance
+type RestartInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	TaskId     string `json:"TaskId" xml:"TaskId"`
+}
+
+// CreateRestartInstanceRequest creates a request to invoke RestartInstance API
+func CreateRestartInstanceRequest() (request *RestartInstanceRequest) {
+	request = &RestartInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "RestartInstance", "", "")
+	return
+}
+
+// CreateRestartInstanceResponse creates a response to parse from RestartInstance response
+func CreateRestartInstanceResponse() (response *RestartInstanceResponse) {
+	response = &RestartInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/r-kvstore/restore_instance.go

@@ -0,0 +1,111 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// RestoreInstance invokes the r_kvstore.RestoreInstance API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/restoreinstance.html
+func (client *Client) RestoreInstance(request *RestoreInstanceRequest) (response *RestoreInstanceResponse, err error) {
+	response = CreateRestoreInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RestoreInstanceWithChan invokes the r_kvstore.RestoreInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/restoreinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestoreInstanceWithChan(request *RestoreInstanceRequest) (<-chan *RestoreInstanceResponse, <-chan error) {
+	responseChan := make(chan *RestoreInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RestoreInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RestoreInstanceWithCallback invokes the r_kvstore.RestoreInstance API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/restoreinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestoreInstanceWithCallback(request *RestoreInstanceRequest, callback func(response *RestoreInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RestoreInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RestoreInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RestoreInstanceRequest is the request struct for api RestoreInstance
+type RestoreInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	RestoreTime          string           `position:"Query" name:"RestoreTime"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	BackupId             string           `position:"Query" name:"BackupId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	RestoreType          string           `position:"Query" name:"RestoreType"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// RestoreInstanceResponse is the response struct for api RestoreInstance
+type RestoreInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRestoreInstanceRequest creates a request to invoke RestoreInstance API
+func CreateRestoreInstanceRequest() (request *RestoreInstanceRequest) {
+	request = &RestoreInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("R-kvstore", "2015-01-01", "RestoreInstance", "", "")
+	return
+}
+
+// CreateRestoreInstanceResponse creates a response to parse from RestoreInstance response
+func CreateRestoreInstanceResponse() (response *RestoreInstanceResponse) {
+	response = &RestoreInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 27 - 0
services/r-kvstore/struct_account.go

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

+ 21 - 0
services/r-kvstore/struct_accounts.go

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

+ 22 - 0
services/r-kvstore/struct_available_resource.go

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

+ 21 - 0
services/r-kvstore/struct_available_resources.go

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

+ 26 - 0
services/r-kvstore/struct_available_zone.go

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

+ 21 - 0
services/r-kvstore/struct_available_zones.go

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

+ 33 - 0
services/r-kvstore/struct_backup.go

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

+ 21 - 0
services/r-kvstore/struct_backups.go

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

+ 30 - 0
services/r-kvstore/struct_cluster_info.go

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

+ 21 - 0
services/r-kvstore/struct_cluster_items.go

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

+ 21 - 0
services/r-kvstore/struct_config_parameters.go

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

+ 22 - 0
services/r-kvstore/struct_daily_task.go

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

+ 21 - 0
services/r-kvstore/struct_daily_tasks.go

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

+ 22 - 0
services/r-kvstore/struct_database_privilege.go

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

+ 21 - 0
services/r-kvstore/struct_database_privileges.go

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

+ 58 - 0
services/r-kvstore/struct_db_instance_attribute.go

@@ -0,0 +1,58 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// DBInstanceAttribute is a nested struct in r_kvstore response
+type DBInstanceAttribute struct {
+	InstanceId          string                          `json:"InstanceId" xml:"InstanceId"`
+	InstanceName        string                          `json:"InstanceName" xml:"InstanceName"`
+	ConnectionDomain    string                          `json:"ConnectionDomain" xml:"ConnectionDomain"`
+	Port                int64                           `json:"Port" xml:"Port"`
+	InstanceStatus      string                          `json:"InstanceStatus" xml:"InstanceStatus"`
+	RegionId            string                          `json:"RegionId" xml:"RegionId"`
+	Capacity            int64                           `json:"Capacity" xml:"Capacity"`
+	InstanceClass       string                          `json:"InstanceClass" xml:"InstanceClass"`
+	QPS                 int64                           `json:"QPS" xml:"QPS"`
+	Bandwidth           int64                           `json:"Bandwidth" xml:"Bandwidth"`
+	Connections         int64                           `json:"Connections" xml:"Connections"`
+	ZoneId              string                          `json:"ZoneId" xml:"ZoneId"`
+	Config              string                          `json:"Config" xml:"Config"`
+	ChargeType          string                          `json:"ChargeType" xml:"ChargeType"`
+	NodeType            string                          `json:"NodeType" xml:"NodeType"`
+	NetworkType         string                          `json:"NetworkType" xml:"NetworkType"`
+	VpcId               string                          `json:"VpcId" xml:"VpcId"`
+	VSwitchId           string                          `json:"VSwitchId" xml:"VSwitchId"`
+	PrivateIp           string                          `json:"PrivateIp" xml:"PrivateIp"`
+	CreateTime          string                          `json:"CreateTime" xml:"CreateTime"`
+	EndTime             string                          `json:"EndTime" xml:"EndTime"`
+	HasRenewChangeOrder string                          `json:"HasRenewChangeOrder" xml:"HasRenewChangeOrder"`
+	IsRds               bool                            `json:"IsRds" xml:"IsRds"`
+	Engine              string                          `json:"Engine" xml:"Engine"`
+	EngineVersion       string                          `json:"EngineVersion" xml:"EngineVersion"`
+	MaintainStartTime   string                          `json:"MaintainStartTime" xml:"MaintainStartTime"`
+	MaintainEndTime     string                          `json:"MaintainEndTime" xml:"MaintainEndTime"`
+	AvailabilityValue   string                          `json:"AvailabilityValue" xml:"AvailabilityValue"`
+	SecurityIPList      string                          `json:"SecurityIPList" xml:"SecurityIPList"`
+	InstanceType        string                          `json:"InstanceType" xml:"InstanceType"`
+	ArchitectureType    string                          `json:"ArchitectureType" xml:"ArchitectureType"`
+	PackageType         string                          `json:"PackageType" xml:"PackageType"`
+	ReplicaId           string                          `json:"ReplicaId" xml:"ReplicaId"`
+	VpcAuthMode         string                          `json:"VpcAuthMode" xml:"VpcAuthMode"`
+	AuditLogRetention   string                          `json:"AuditLogRetention" xml:"AuditLogRetention"`
+	ReplicationMode     string                          `json:"ReplicationMode" xml:"ReplicationMode"`
+	VpcCloudInstanceId  string                          `json:"VpcCloudInstanceId" xml:"VpcCloudInstanceId"`
+	Tags                TagsInDescribeInstanceAttribute `json:"Tags" xml:"Tags"`
+}

+ 38 - 0
services/r-kvstore/struct_host_info.go

@@ -0,0 +1,38 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// HostInfo is a nested struct in r_kvstore response
+type HostInfo struct {
+	ClusterId        string `json:"ClusterId" xml:"ClusterId"`
+	HostId           string `json:"HostId" xml:"HostId"`
+	Engine           string `json:"Engine" xml:"Engine"`
+	HostIP           string `json:"HostIP" xml:"HostIP"`
+	HostStatus       string `json:"HostStatus" xml:"HostStatus"`
+	AllocationStatus string `json:"AllocationStatus" xml:"AllocationStatus"`
+	HostCpu          string `json:"HostCpu" xml:"HostCpu"`
+	HostMem          string `json:"HostMem" xml:"HostMem"`
+	HostStorage      string `json:"HostStorage" xml:"HostStorage"`
+	HostName         string `json:"HostName" xml:"HostName"`
+	Id               int    `json:"Id" xml:"Id"`
+	CreateTime       string `json:"CreateTime" xml:"CreateTime"`
+	InstanceNumber   string `json:"InstanceNumber" xml:"InstanceNumber"`
+	RegionId         string `json:"RegionId" xml:"RegionId"`
+	ZoneId           string `json:"ZoneId" xml:"ZoneId"`
+	HostClass        string `json:"HostClass" xml:"HostClass"`
+	ExpireTime       string `json:"ExpireTime" xml:"ExpireTime"`
+	ChargeType       string `json:"ChargeType" xml:"ChargeType"`
+}

+ 21 - 0
services/r-kvstore/struct_host_items.go

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

+ 30 - 0
services/r-kvstore/struct_instance_info.go

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

+ 31 - 0
services/r-kvstore/struct_instance_net_info.go

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

+ 21 - 0
services/r-kvstore/struct_instances_in_describe_instance_attribute.go

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

+ 21 - 0
services/r-kvstore/struct_instances_in_describe_instances.go

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

+ 21 - 0
services/r-kvstore/struct_instances_items.go

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

+ 25 - 0
services/r-kvstore/struct_item.go

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

+ 21 - 0
services/r-kvstore/struct_items_in_describe_audit_records.go

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

+ 21 - 0
services/r-kvstore/struct_items_in_describe_instance_auto_renewal_attribute.go

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

+ 21 - 0
services/r-kvstore/struct_items_in_describe_running_log_records.go

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

+ 21 - 0
services/r-kvstore/struct_items_in_describe_slow_log_records.go

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

+ 54 - 0
services/r-kvstore/struct_kv_store_instance.go

@@ -0,0 +1,54 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// KVStoreInstance is a nested struct in r_kvstore response
+type KVStoreInstance struct {
+	ReplacateId         string                  `json:"ReplacateId" xml:"ReplacateId"`
+	InstanceId          string                  `json:"InstanceId" xml:"InstanceId"`
+	InstanceName        string                  `json:"InstanceName" xml:"InstanceName"`
+	SearchKey           string                  `json:"SearchKey" xml:"SearchKey"`
+	ConnectionDomain    string                  `json:"ConnectionDomain" xml:"ConnectionDomain"`
+	Port                int64                   `json:"Port" xml:"Port"`
+	UserName            string                  `json:"UserName" xml:"UserName"`
+	InstanceStatus      string                  `json:"InstanceStatus" xml:"InstanceStatus"`
+	RegionId            string                  `json:"RegionId" xml:"RegionId"`
+	Capacity            int64                   `json:"Capacity" xml:"Capacity"`
+	InstanceClass       string                  `json:"InstanceClass" xml:"InstanceClass"`
+	QPS                 int64                   `json:"QPS" xml:"QPS"`
+	Bandwidth           int64                   `json:"Bandwidth" xml:"Bandwidth"`
+	Connections         int64                   `json:"Connections" xml:"Connections"`
+	ZoneId              string                  `json:"ZoneId" xml:"ZoneId"`
+	Config              string                  `json:"Config" xml:"Config"`
+	ChargeType          string                  `json:"ChargeType" xml:"ChargeType"`
+	NetworkType         string                  `json:"NetworkType" xml:"NetworkType"`
+	VpcId               string                  `json:"VpcId" xml:"VpcId"`
+	VSwitchId           string                  `json:"VSwitchId" xml:"VSwitchId"`
+	PrivateIp           string                  `json:"PrivateIp" xml:"PrivateIp"`
+	CreateTime          string                  `json:"CreateTime" xml:"CreateTime"`
+	EndTime             string                  `json:"EndTime" xml:"EndTime"`
+	HasRenewChangeOrder string                  `json:"HasRenewChangeOrder" xml:"HasRenewChangeOrder"`
+	IsRds               bool                    `json:"IsRds" xml:"IsRds"`
+	InstanceType        string                  `json:"InstanceType" xml:"InstanceType"`
+	ArchitectureType    string                  `json:"ArchitectureType" xml:"ArchitectureType"`
+	NodeType            string                  `json:"NodeType" xml:"NodeType"`
+	PackageType         string                  `json:"PackageType" xml:"PackageType"`
+	EngineVersion       string                  `json:"EngineVersion" xml:"EngineVersion"`
+	DestroyTime         string                  `json:"DestroyTime" xml:"DestroyTime"`
+	ConnectionMode      string                  `json:"ConnectionMode" xml:"ConnectionMode"`
+	VpcCloudInstanceId  string                  `json:"VpcCloudInstanceId" xml:"VpcCloudInstanceId"`
+	Tags                TagsInDescribeInstances `json:"Tags" xml:"Tags"`
+}

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