浏览代码

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

yixiong.jxy 7 年之前
父节点
当前提交
d99fb0db6d
共有 100 个文件被更改,包括 8816 次插入0 次删除
  1. 16 0
      ChangeLog.txt
  2. 109 0
      services/dds/allocate_public_network_address.go
  3. 81 0
      services/dds/client.go
  4. 110 0
      services/dds/create_backup.go
  5. 131 0
      services/dds/create_db_instance.go
  6. 113 0
      services/dds/create_node.go
  7. 111 0
      services/dds/create_recommendation_task.go
  8. 145 0
      services/dds/create_sharding_db_instance.go
  9. 110 0
      services/dds/create_static_verification.go
  10. 109 0
      services/dds/delete_db_instance.go
  11. 111 0
      services/dds/delete_node.go
  12. 110 0
      services/dds/describe_accounts.go
  13. 116 0
      services/dds/describe_audit_files.go
  14. 111 0
      services/dds/describe_audit_log_filter.go
  15. 110 0
      services/dds/describe_audit_policy.go
  16. 121 0
      services/dds/describe_audit_records.go
  17. 110 0
      services/dds/describe_available_time_range.go
  18. 110 0
      services/dds/describe_avaliable_time_range.go
  19. 112 0
      services/dds/describe_backup_policy.go
  20. 118 0
      services/dds/describe_backups.go
  21. 110 0
      services/dds/describe_db_instance_attribute.go
  22. 109 0
      services/dds/describe_db_instance_monitor.go
  23. 118 0
      services/dds/describe_db_instance_performance.go
  24. 111 0
      services/dds/describe_db_instance_ssl.go
  25. 118 0
      services/dds/describe_db_instances.go
  26. 121 0
      services/dds/describe_index_recommendation.go
  27. 109 0
      services/dds/describe_kernel_release_notes.go
  28. 112 0
      services/dds/describe_parameter_modification_history.go
  29. 113 0
      services/dds/describe_parameter_templates.go
  30. 113 0
      services/dds/describe_parameters.go
  31. 110 0
      services/dds/describe_rds_v_switchs.go
  32. 109 0
      services/dds/describe_rds_vpcs.go
  33. 108 0
      services/dds/describe_regions.go
  34. 117 0
      services/dds/describe_replica_conflict_info.go
  35. 109 0
      services/dds/describe_replica_initialize_progress.go
  36. 116 0
      services/dds/describe_replica_performance.go
  37. 110 0
      services/dds/describe_replica_set_role.go
  38. 113 0
      services/dds/describe_replica_usage.go
  39. 115 0
      services/dds/describe_replicas.go
  40. 110 0
      services/dds/describe_security_ips.go
  41. 110 0
      services/dds/describe_sharding_network_address.go
  42. 123 0
      services/dds/describe_static_verification_list.go
  43. 111 0
      services/dds/describe_strategy.go
  44. 117 0
      services/dds/describe_verification_list.go
  45. 109 0
      services/dds/destroy_instance.go
  46. 112 0
      services/dds/evaluate_fail_over_switch.go
  47. 110 0
      services/dds/modify_account_description.go
  48. 110 0
      services/dds/modify_audit_log_filter.go
  49. 110 0
      services/dds/modify_audit_policy.go
  50. 110 0
      services/dds/modify_backup_policy.go
  51. 111 0
      services/dds/modify_db_instance_connection_string.go
  52. 110 0
      services/dds/modify_db_instance_description.go
  53. 110 0
      services/dds/modify_db_instance_maintain_time.go
  54. 109 0
      services/dds/modify_db_instance_monitor.go
  55. 110 0
      services/dds/modify_db_instance_net_expire_time.go
  56. 113 0
      services/dds/modify_db_instance_network_type.go
  57. 117 0
      services/dds/modify_db_instance_spec.go
  58. 109 0
      services/dds/modify_db_instance_ssl.go
  59. 109 0
      services/dds/modify_guard_domain_mode.go
  60. 114 0
      services/dds/modify_node_spec.go
  61. 110 0
      services/dds/modify_parameters.go
  62. 109 0
      services/dds/modify_replica_description.go
  63. 111 0
      services/dds/modify_replica_mode.go
  64. 109 0
      services/dds/modify_replica_recovery_mode.go
  65. 108 0
      services/dds/modify_replica_relation.go
  66. 109 0
      services/dds/modify_replica_verification_mode.go
  67. 112 0
      services/dds/modify_security_ips.go
  68. 109 0
      services/dds/release_public_network_address.go
  69. 108 0
      services/dds/release_replica.go
  70. 114 0
      services/dds/renew_db_instance.go
  71. 110 0
      services/dds/reset_account_password.go
  72. 109 0
      services/dds/restart_db_instance.go
  73. 109 0
      services/dds/restore_db_instance.go
  74. 110 0
      services/dds/sample.go
  75. 24 0
      services/dds/struct_account.go
  76. 21 0
      services/dds/struct_accounts_in_describe_accounts.go
  77. 21 0
      services/dds/struct_accounts_in_evaluate_fail_over_switch.go
  78. 29 0
      services/dds/struct_accounts_item.go
  79. 36 0
      services/dds/struct_analyzation.go
  80. 21 0
      services/dds/struct_analyzations.go
  81. 30 0
      services/dds/struct_backup.go
  82. 21 0
      services/dds/struct_backups.go
  83. 21 0
      services/dds/struct_config_parameters.go
  84. 50 0
      services/dds/struct_db_instance.go
  85. 21 0
      services/dds/struct_db_instances_in_describe_db_instance_attribute.go
  86. 21 0
      services/dds/struct_db_instances_in_describe_db_instances.go
  87. 21 0
      services/dds/struct_db_instances_in_describe_replicas.go
  88. 23 0
      services/dds/struct_dds_region.go
  89. 24 0
      services/dds/struct_historical_parameter.go
  90. 21 0
      services/dds/struct_historical_parameters.go
  91. 21 0
      services/dds/struct_index_combines.go
  92. 21 0
      services/dds/struct_index_recommendations.go
  93. 36 0
      services/dds/struct_items.go
  94. 21 0
      services/dds/struct_items_in_describe_audit_files.go
  95. 21 0
      services/dds/struct_items_in_describe_audit_records.go
  96. 21 0
      services/dds/struct_items_in_describe_replica_conflict_info.go
  97. 21 0
      services/dds/struct_items_in_describe_replica_initialize_progress.go
  98. 21 0
      services/dds/struct_items_in_describe_static_verification_list.go
  99. 21 0
      services/dds/struct_items_in_describe_verification_list.go
  100. 21 0
      services/dds/struct_items_in_evaluate_fail_over_switch.go

+ 16 - 0
ChangeLog.txt

@@ -1,3 +1,19 @@
+2018-08-23 Version: 1.27.2
+1, RunInstance add privateIpAddress.
+
+2018-08-23 Version: 1.27.1
+1, This is an example of release-log.
+2, Please strictly follow this format to edit in English.
+3, Format:Number + , + Space + Description
+
+2018-08-23 Version: 1.27.0
+1, Add CreateVpnGateway API.
+2, Add product Ipv6Translator.
+
+
+2018-08-22 Version: 1.26.2
+1, upgrade mongodb sdk.
+
 2018-08-22 Version: 1.26.0
 1, Add api CreateSimulatedSystemEvents, support creating one or more simulated system events.
 2, Add api CancelSimulatedSystemEvents, support cancelling one or more simulated system events.

+ 109 - 0
services/dds/allocate_public_network_address.go

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

+ 81 - 0
services/dds/client.go

@@ -0,0 +1,81 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 110 - 0
services/dds/create_backup.go

@@ -0,0 +1,110 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.CreateBackup API synchronously
+// api document: https://help.aliyun.com/api/dds/createbackup.html
+func (client *Client) CreateBackup(request *CreateBackupRequest) (response *CreateBackupResponse, err error) {
+	response = CreateCreateBackupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateBackupWithChan invokes the dds.CreateBackup API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.CreateBackup API asynchronously
+// api document: https://help.aliyun.com/api/dds/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
+	BackupMethod         string           `position:"Query" name:"BackupMethod"`
+	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"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// CreateBackupResponse is the response struct for api CreateBackup
+type CreateBackupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	BackupId  string `json:"BackupId" xml:"BackupId"`
+}
+
+// CreateCreateBackupRequest creates a request to invoke CreateBackup API
+func CreateCreateBackupRequest() (request *CreateBackupRequest) {
+	request = &CreateBackupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "CreateBackup", "dds", "openAPI")
+	return
+}
+
+// CreateCreateBackupResponse creates a response to parse from CreateBackup response
+func CreateCreateBackupResponse() (response *CreateBackupResponse) {
+	response = &CreateBackupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 131 - 0
services/dds/create_db_instance.go

@@ -0,0 +1,131 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateDBInstance invokes the dds.CreateDBInstance API synchronously
+// api document: https://help.aliyun.com/api/dds/createdbinstance.html
+func (client *Client) CreateDBInstance(request *CreateDBInstanceRequest) (response *CreateDBInstanceResponse, err error) {
+	response = CreateCreateDBInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateDBInstanceWithChan invokes the dds.CreateDBInstance API asynchronously
+// api document: https://help.aliyun.com/api/dds/createdbinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDBInstanceWithChan(request *CreateDBInstanceRequest) (<-chan *CreateDBInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateDBInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateDBInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateDBInstanceWithCallback invokes the dds.CreateDBInstance API asynchronously
+// api document: https://help.aliyun.com/api/dds/createdbinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDBInstanceWithCallback(request *CreateDBInstanceRequest, callback func(response *CreateDBInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateDBInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateDBInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateDBInstanceRequest is the request struct for api CreateDBInstance
+type CreateDBInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	DBInstanceStorage     requests.Integer `position:"Query" name:"DBInstanceStorage"`
+	ClientToken           string           `position:"Query" name:"ClientToken"`
+	CouponNo              string           `position:"Query" name:"CouponNo"`
+	EngineVersion         string           `position:"Query" name:"EngineVersion"`
+	NetworkType           string           `position:"Query" name:"NetworkType"`
+	ReplicationFactor     string           `position:"Query" name:"ReplicationFactor"`
+	StorageEngine         string           `position:"Query" name:"StorageEngine"`
+	SecurityToken         string           `position:"Query" name:"SecurityToken"`
+	Engine                string           `position:"Query" name:"Engine"`
+	DBInstanceDescription string           `position:"Query" name:"DBInstanceDescription"`
+	BusinessInfo          string           `position:"Query" name:"BusinessInfo"`
+	Period                requests.Integer `position:"Query" name:"Period"`
+	RestoreTime           string           `position:"Query" name:"RestoreTime"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	SrcDBInstanceId       string           `position:"Query" name:"SrcDBInstanceId"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	BackupId              string           `position:"Query" name:"BackupId"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	DBInstanceClass       string           `position:"Query" name:"DBInstanceClass"`
+	SecurityIPList        string           `position:"Query" name:"SecurityIPList"`
+	VSwitchId             string           `position:"Query" name:"VSwitchId"`
+	AccountPassword       string           `position:"Query" name:"AccountPassword"`
+	AutoRenew             string           `position:"Query" name:"AutoRenew"`
+	VpcId                 string           `position:"Query" name:"VpcId"`
+	ZoneId                string           `position:"Query" name:"ZoneId"`
+	ChargeType            string           `position:"Query" name:"ChargeType"`
+}
+
+// CreateDBInstanceResponse is the response struct for api CreateDBInstance
+type CreateDBInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	OrderId      string `json:"OrderId" xml:"OrderId"`
+	DBInstanceId string `json:"DBInstanceId" xml:"DBInstanceId"`
+}
+
+// CreateCreateDBInstanceRequest creates a request to invoke CreateDBInstance API
+func CreateCreateDBInstanceRequest() (request *CreateDBInstanceRequest) {
+	request = &CreateDBInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "CreateDBInstance", "dds", "openAPI")
+	return
+}
+
+// CreateCreateDBInstanceResponse creates a response to parse from CreateDBInstance response
+func CreateCreateDBInstanceResponse() (response *CreateDBInstanceResponse) {
+	response = &CreateDBInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/dds/create_node.go

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

+ 111 - 0
services/dds/create_recommendation_task.go

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

+ 145 - 0
services/dds/create_sharding_db_instance.go

@@ -0,0 +1,145 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// CreateShardingDBInstance invokes the dds.CreateShardingDBInstance API synchronously
+// api document: https://help.aliyun.com/api/dds/createshardingdbinstance.html
+func (client *Client) CreateShardingDBInstance(request *CreateShardingDBInstanceRequest) (response *CreateShardingDBInstanceResponse, err error) {
+	response = CreateCreateShardingDBInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateShardingDBInstanceWithChan invokes the dds.CreateShardingDBInstance API asynchronously
+// api document: https://help.aliyun.com/api/dds/createshardingdbinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateShardingDBInstanceWithChan(request *CreateShardingDBInstanceRequest) (<-chan *CreateShardingDBInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateShardingDBInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateShardingDBInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateShardingDBInstanceWithCallback invokes the dds.CreateShardingDBInstance API asynchronously
+// api document: https://help.aliyun.com/api/dds/createshardingdbinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateShardingDBInstanceWithCallback(request *CreateShardingDBInstanceRequest, callback func(response *CreateShardingDBInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateShardingDBInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateShardingDBInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateShardingDBInstanceRequest is the request struct for api CreateShardingDBInstance
+type CreateShardingDBInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId       requests.Integer                        `position:"Query" name:"ResourceOwnerId"`
+	ClientToken           string                                  `position:"Query" name:"ClientToken"`
+	EngineVersion         string                                  `position:"Query" name:"EngineVersion"`
+	NetworkType           string                                  `position:"Query" name:"NetworkType"`
+	ReplicaSet            *[]CreateShardingDBInstanceReplicaSet   `position:"Query" name:"ReplicaSet"  type:"Repeated"`
+	StorageEngine         string                                  `position:"Query" name:"StorageEngine"`
+	SecurityToken         string                                  `position:"Query" name:"SecurityToken"`
+	Engine                string                                  `position:"Query" name:"Engine"`
+	DBInstanceDescription string                                  `position:"Query" name:"DBInstanceDescription"`
+	Period                requests.Integer                        `position:"Query" name:"Period"`
+	RestoreTime           string                                  `position:"Query" name:"RestoreTime"`
+	ResourceOwnerAccount  string                                  `position:"Query" name:"ResourceOwnerAccount"`
+	SrcDBInstanceId       string                                  `position:"Query" name:"SrcDBInstanceId"`
+	OwnerAccount          string                                  `position:"Query" name:"OwnerAccount"`
+	ConfigServer          *[]CreateShardingDBInstanceConfigServer `position:"Query" name:"ConfigServer"  type:"Repeated"`
+	OwnerId               requests.Integer                        `position:"Query" name:"OwnerId"`
+	Mongos                *[]CreateShardingDBInstanceMongos       `position:"Query" name:"Mongos"  type:"Repeated"`
+	SecurityIPList        string                                  `position:"Query" name:"SecurityIPList"`
+	VSwitchId             string                                  `position:"Query" name:"VSwitchId"`
+	AccountPassword       string                                  `position:"Query" name:"AccountPassword"`
+	AutoRenew             string                                  `position:"Query" name:"AutoRenew"`
+	VpcId                 string                                  `position:"Query" name:"VpcId"`
+	ZoneId                string                                  `position:"Query" name:"ZoneId"`
+	ChargeType            string                                  `position:"Query" name:"ChargeType"`
+}
+
+// CreateShardingDBInstanceReplicaSet is a repeated param struct in CreateShardingDBInstanceRequest
+type CreateShardingDBInstanceReplicaSet struct {
+	Storage string `name:"Storage"`
+	Class   string `name:"Class"`
+}
+
+// CreateShardingDBInstanceConfigServer is a repeated param struct in CreateShardingDBInstanceRequest
+type CreateShardingDBInstanceConfigServer struct {
+	Storage string `name:"Storage"`
+	Class   string `name:"Class"`
+}
+
+// CreateShardingDBInstanceMongos is a repeated param struct in CreateShardingDBInstanceRequest
+type CreateShardingDBInstanceMongos struct {
+	Class string `name:"Class"`
+}
+
+// CreateShardingDBInstanceResponse is the response struct for api CreateShardingDBInstance
+type CreateShardingDBInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	OrderId      string `json:"OrderId" xml:"OrderId"`
+	DBInstanceId string `json:"DBInstanceId" xml:"DBInstanceId"`
+}
+
+// CreateCreateShardingDBInstanceRequest creates a request to invoke CreateShardingDBInstance API
+func CreateCreateShardingDBInstanceRequest() (request *CreateShardingDBInstanceRequest) {
+	request = &CreateShardingDBInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "CreateShardingDBInstance", "dds", "openAPI")
+	return
+}
+
+// CreateCreateShardingDBInstanceResponse creates a response to parse from CreateShardingDBInstance response
+func CreateCreateShardingDBInstanceResponse() (response *CreateShardingDBInstanceResponse) {
+	response = &CreateShardingDBInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/create_static_verification.go

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

+ 109 - 0
services/dds/delete_db_instance.go

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

+ 111 - 0
services/dds/delete_node.go

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

+ 110 - 0
services/dds/describe_accounts.go

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

+ 116 - 0
services/dds/describe_audit_files.go

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

+ 111 - 0
services/dds/describe_audit_log_filter.go

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

+ 110 - 0
services/dds/describe_audit_policy.go

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

+ 121 - 0
services/dds/describe_audit_records.go

@@ -0,0 +1,121 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.DescribeAuditRecords API synchronously
+// api document: https://help.aliyun.com/api/dds/describeauditrecords.html
+func (client *Client) DescribeAuditRecords(request *DescribeAuditRecordsRequest) (response *DescribeAuditRecordsResponse, err error) {
+	response = CreateDescribeAuditRecordsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAuditRecordsWithChan invokes the dds.DescribeAuditRecords API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.DescribeAuditRecords API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	QueryKeywords        string           `position:"Query" name:"QueryKeywords"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	Database             string           `position:"Query" name:"Database"`
+	Form                 string           `position:"Query" name:"Form"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+	User                 string           `position:"Query" name:"User"`
+}
+
+// DescribeAuditRecordsResponse is the response struct for api DescribeAuditRecords
+type DescribeAuditRecordsResponse struct {
+	*responses.BaseResponse
+	RequestId        string                      `json:"RequestId" xml:"RequestId"`
+	TotalRecordCount int                         `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	PageNumber       int                         `json:"PageNumber" xml:"PageNumber"`
+	PageRecordCount  int                         `json:"PageRecordCount" xml:"PageRecordCount"`
+	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("Dds", "2015-12-01", "DescribeAuditRecords", "dds", "openAPI")
+	return
+}
+
+// CreateDescribeAuditRecordsResponse creates a response to parse from DescribeAuditRecords response
+func CreateDescribeAuditRecordsResponse() (response *DescribeAuditRecordsResponse) {
+	response = &DescribeAuditRecordsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/describe_available_time_range.go

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

+ 110 - 0
services/dds/describe_avaliable_time_range.go

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

+ 112 - 0
services/dds/describe_backup_policy.go

@@ -0,0 +1,112 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.DescribeBackupPolicy API synchronously
+// api document: https://help.aliyun.com/api/dds/describebackuppolicy.html
+func (client *Client) DescribeBackupPolicy(request *DescribeBackupPolicyRequest) (response *DescribeBackupPolicyResponse, err error) {
+	response = CreateDescribeBackupPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBackupPolicyWithChan invokes the dds.DescribeBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.DescribeBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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"`
+}
+
+// CreateDescribeBackupPolicyRequest creates a request to invoke DescribeBackupPolicy API
+func CreateDescribeBackupPolicyRequest() (request *DescribeBackupPolicyRequest) {
+	request = &DescribeBackupPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "DescribeBackupPolicy", "dds", "openAPI")
+	return
+}
+
+// CreateDescribeBackupPolicyResponse creates a response to parse from DescribeBackupPolicy response
+func CreateDescribeBackupPolicyResponse() (response *DescribeBackupPolicyResponse) {
+	response = &DescribeBackupPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/dds/describe_backups.go

@@ -0,0 +1,118 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.DescribeBackups API synchronously
+// api document: https://help.aliyun.com/api/dds/describebackups.html
+func (client *Client) DescribeBackups(request *DescribeBackupsRequest) (response *DescribeBackupsResponse, err error) {
+	response = CreateDescribeBackupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBackupsWithChan invokes the dds.DescribeBackups API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.DescribeBackups API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	BackupId             requests.Integer `position:"Query" name:"BackupId"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+}
+
+// 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("Dds", "2015-12-01", "DescribeBackups", "dds", "openAPI")
+	return
+}
+
+// CreateDescribeBackupsResponse creates a response to parse from DescribeBackups response
+func CreateDescribeBackupsResponse() (response *DescribeBackupsResponse) {
+	response = &DescribeBackupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/describe_db_instance_attribute.go

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

+ 109 - 0
services/dds/describe_db_instance_monitor.go

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

+ 118 - 0
services/dds/describe_db_instance_performance.go

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

+ 111 - 0
services/dds/describe_db_instance_ssl.go

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

+ 118 - 0
services/dds/describe_db_instances.go

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

+ 121 - 0
services/dds/describe_index_recommendation.go

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

+ 109 - 0
services/dds/describe_kernel_release_notes.go

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

+ 112 - 0
services/dds/describe_parameter_modification_history.go

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

+ 113 - 0
services/dds/describe_parameter_templates.go

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

+ 113 - 0
services/dds/describe_parameters.go

@@ -0,0 +1,113 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.DescribeParameters API synchronously
+// api document: https://help.aliyun.com/api/dds/describeparameters.html
+func (client *Client) DescribeParameters(request *DescribeParametersRequest) (response *DescribeParametersResponse, err error) {
+	response = CreateDescribeParametersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeParametersWithChan invokes the dds.DescribeParameters API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.DescribeParameters API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	NodeId               string           `position:"Query" name:"NodeId"`
+}
+
+// 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("Dds", "2015-12-01", "DescribeParameters", "dds", "openAPI")
+	return
+}
+
+// CreateDescribeParametersResponse creates a response to parse from DescribeParameters response
+func CreateDescribeParametersResponse() (response *DescribeParametersResponse) {
+	response = &DescribeParametersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/describe_rds_v_switchs.go

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

+ 109 - 0
services/dds/describe_rds_vpcs.go

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

+ 108 - 0
services/dds/describe_regions.go

@@ -0,0 +1,108 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/dds/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the dds.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Regions   Regions `json:"Regions" xml:"Regions"`
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "DescribeRegions", "dds", "openAPI")
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/dds/describe_replica_conflict_info.go

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

+ 109 - 0
services/dds/describe_replica_initialize_progress.go

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

+ 116 - 0
services/dds/describe_replica_performance.go

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

+ 110 - 0
services/dds/describe_replica_set_role.go

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

+ 113 - 0
services/dds/describe_replica_usage.go

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

+ 115 - 0
services/dds/describe_replicas.go

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

+ 110 - 0
services/dds/describe_security_ips.go

@@ -0,0 +1,110 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.DescribeSecurityIps API synchronously
+// api document: https://help.aliyun.com/api/dds/describesecurityips.html
+func (client *Client) DescribeSecurityIps(request *DescribeSecurityIpsRequest) (response *DescribeSecurityIpsResponse, err error) {
+	response = CreateDescribeSecurityIpsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSecurityIpsWithChan invokes the dds.DescribeSecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.DescribeSecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeSecurityIpsResponse is the response struct for api DescribeSecurityIps
+type DescribeSecurityIpsResponse struct {
+	*responses.BaseResponse
+	RequestId        string                                `json:"RequestId" xml:"RequestId"`
+	SecurityIps      string                                `json:"SecurityIps" xml:"SecurityIps"`
+	SecurityIpGroups SecurityIpGroupsInDescribeSecurityIps `json:"SecurityIpGroups" xml:"SecurityIpGroups"`
+}
+
+// CreateDescribeSecurityIpsRequest creates a request to invoke DescribeSecurityIps API
+func CreateDescribeSecurityIpsRequest() (request *DescribeSecurityIpsRequest) {
+	request = &DescribeSecurityIpsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "DescribeSecurityIps", "dds", "openAPI")
+	return
+}
+
+// CreateDescribeSecurityIpsResponse creates a response to parse from DescribeSecurityIps response
+func CreateDescribeSecurityIpsResponse() (response *DescribeSecurityIpsResponse) {
+	response = &DescribeSecurityIpsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/describe_sharding_network_address.go

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

+ 123 - 0
services/dds/describe_static_verification_list.go

@@ -0,0 +1,123 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeStaticVerificationList invokes the dds.DescribeStaticVerificationList API synchronously
+// api document: https://help.aliyun.com/api/dds/describestaticverificationlist.html
+func (client *Client) DescribeStaticVerificationList(request *DescribeStaticVerificationListRequest) (response *DescribeStaticVerificationListResponse, err error) {
+	response = CreateDescribeStaticVerificationListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeStaticVerificationListWithChan invokes the dds.DescribeStaticVerificationList API asynchronously
+// api document: https://help.aliyun.com/api/dds/describestaticverificationlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStaticVerificationListWithChan(request *DescribeStaticVerificationListRequest) (<-chan *DescribeStaticVerificationListResponse, <-chan error) {
+	responseChan := make(chan *DescribeStaticVerificationListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStaticVerificationList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeStaticVerificationListWithCallback invokes the dds.DescribeStaticVerificationList API asynchronously
+// api document: https://help.aliyun.com/api/dds/describestaticverificationlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStaticVerificationListWithCallback(request *DescribeStaticVerificationListRequest, callback func(response *DescribeStaticVerificationListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStaticVerificationListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStaticVerificationList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeStaticVerificationListRequest is the request struct for api DescribeStaticVerificationList
+type DescribeStaticVerificationListRequest 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"`
+	ReplicaId             string           `position:"Query" name:"ReplicaId"`
+	DestinationInstanceId string           `position:"Query" name:"DestinationInstanceId"`
+	SourceInstanceId      string           `position:"Query" name:"SourceInstanceId"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeStaticVerificationListResponse is the response struct for api DescribeStaticVerificationList
+type DescribeStaticVerificationListResponse struct {
+	*responses.BaseResponse
+	RequestId              string      `json:"RequestId" xml:"RequestId"`
+	ReplicaId              string      `json:"ReplicaId" xml:"ReplicaId"`
+	SourceInstanceId       string      `json:"SourceInstanceId" xml:"SourceInstanceId"`
+	SourceDBNumber         int         `json:"SourceDBNumber" xml:"SourceDBNumber"`
+	SourceTableNumber      int         `json:"SourceTableNumber" xml:"SourceTableNumber"`
+	SourceCountNumber      int         `json:"SourceCountNumber" xml:"SourceCountNumber"`
+	SourceDBSize           int         `json:"SourceDBSize" xml:"SourceDBSize"`
+	DestinationInstanceId  string      `json:"DestinationInstanceId" xml:"DestinationInstanceId"`
+	DestinationDBNumber    int         `json:"DestinationDBNumber" xml:"DestinationDBNumber"`
+	DestinationTableNumber int         `json:"DestinationTableNumber" xml:"DestinationTableNumber"`
+	DestinationCountNumber int         `json:"DestinationCountNumber" xml:"DestinationCountNumber"`
+	DestinationDBSize      int         `json:"DestinationDBSize" xml:"DestinationDBSize"`
+	ConsistencyPercent     string      `json:"ConsistencyPercent" xml:"ConsistencyPercent"`
+	Items                  []ItemsItem `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeStaticVerificationListRequest creates a request to invoke DescribeStaticVerificationList API
+func CreateDescribeStaticVerificationListRequest() (request *DescribeStaticVerificationListRequest) {
+	request = &DescribeStaticVerificationListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "DescribeStaticVerificationList", "dds", "openAPI")
+	return
+}
+
+// CreateDescribeStaticVerificationListResponse creates a response to parse from DescribeStaticVerificationList response
+func CreateDescribeStaticVerificationListResponse() (response *DescribeStaticVerificationListResponse) {
+	response = &DescribeStaticVerificationListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/dds/describe_strategy.go

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

+ 117 - 0
services/dds/describe_verification_list.go

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

+ 109 - 0
services/dds/destroy_instance.go

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

+ 112 - 0
services/dds/evaluate_fail_over_switch.go

@@ -0,0 +1,112 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// EvaluateFailOverSwitch invokes the dds.EvaluateFailOverSwitch API synchronously
+// api document: https://help.aliyun.com/api/dds/evaluatefailoverswitch.html
+func (client *Client) EvaluateFailOverSwitch(request *EvaluateFailOverSwitchRequest) (response *EvaluateFailOverSwitchResponse, err error) {
+	response = CreateEvaluateFailOverSwitchResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EvaluateFailOverSwitchWithChan invokes the dds.EvaluateFailOverSwitch API asynchronously
+// api document: https://help.aliyun.com/api/dds/evaluatefailoverswitch.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EvaluateFailOverSwitchWithChan(request *EvaluateFailOverSwitchRequest) (<-chan *EvaluateFailOverSwitchResponse, <-chan error) {
+	responseChan := make(chan *EvaluateFailOverSwitchResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EvaluateFailOverSwitch(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EvaluateFailOverSwitchWithCallback invokes the dds.EvaluateFailOverSwitch API asynchronously
+// api document: https://help.aliyun.com/api/dds/evaluatefailoverswitch.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EvaluateFailOverSwitchWithCallback(request *EvaluateFailOverSwitchRequest, callback func(response *EvaluateFailOverSwitchResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EvaluateFailOverSwitchResponse
+		var err error
+		defer close(result)
+		response, err = client.EvaluateFailOverSwitch(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EvaluateFailOverSwitchRequest is the request struct for api EvaluateFailOverSwitch
+type EvaluateFailOverSwitchRequest 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"`
+	ReplicaId            string           `position:"Query" name:"ReplicaId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// EvaluateFailOverSwitchResponse is the response struct for api EvaluateFailOverSwitch
+type EvaluateFailOverSwitchResponse struct {
+	*responses.BaseResponse
+	RequestId      string        `json:"RequestId" xml:"RequestId"`
+	ReplicaId      string        `json:"ReplicaId" xml:"ReplicaId"`
+	EvaluateResult string        `json:"EvaluateResult" xml:"EvaluateResult"`
+	Items          []ItemsItem   `json:"Items" xml:"Items"`
+	Reports        []ReportsItem `json:"Reports" xml:"Reports"`
+}
+
+// CreateEvaluateFailOverSwitchRequest creates a request to invoke EvaluateFailOverSwitch API
+func CreateEvaluateFailOverSwitchRequest() (request *EvaluateFailOverSwitchRequest) {
+	request = &EvaluateFailOverSwitchRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Dds", "2015-12-01", "EvaluateFailOverSwitch", "dds", "openAPI")
+	return
+}
+
+// CreateEvaluateFailOverSwitchResponse creates a response to parse from EvaluateFailOverSwitch response
+func CreateEvaluateFailOverSwitchResponse() (response *EvaluateFailOverSwitchResponse) {
+	response = &EvaluateFailOverSwitchResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/modify_account_description.go

@@ -0,0 +1,110 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.ModifyAccountDescription API synchronously
+// api document: https://help.aliyun.com/api/dds/modifyaccountdescription.html
+func (client *Client) ModifyAccountDescription(request *ModifyAccountDescriptionRequest) (response *ModifyAccountDescriptionResponse, err error) {
+	response = CreateModifyAccountDescriptionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAccountDescriptionWithChan invokes the dds.ModifyAccountDescription API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.ModifyAccountDescription API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AccountDescription   string           `position:"Query" name:"AccountDescription"`
+}
+
+// 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("Dds", "2015-12-01", "ModifyAccountDescription", "dds", "openAPI")
+	return
+}
+
+// CreateModifyAccountDescriptionResponse creates a response to parse from ModifyAccountDescription response
+func CreateModifyAccountDescriptionResponse() (response *ModifyAccountDescriptionResponse) {
+	response = &ModifyAccountDescriptionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/modify_audit_log_filter.go

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

+ 110 - 0
services/dds/modify_audit_policy.go

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

+ 110 - 0
services/dds/modify_backup_policy.go

@@ -0,0 +1,110 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.ModifyBackupPolicy API synchronously
+// api document: https://help.aliyun.com/api/dds/modifybackuppolicy.html
+func (client *Client) ModifyBackupPolicy(request *ModifyBackupPolicyRequest) (response *ModifyBackupPolicyResponse, err error) {
+	response = CreateModifyBackupPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyBackupPolicyWithChan invokes the dds.ModifyBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.ModifyBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/dds/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
+	PreferredBackupTime   string           `position:"Query" name:"PreferredBackupTime"`
+	PreferredBackupPeriod string           `position:"Query" name:"PreferredBackupPeriod"`
+	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"`
+	DBInstanceId          string           `position:"Query" name:"DBInstanceId"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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("Dds", "2015-12-01", "ModifyBackupPolicy", "dds", "openAPI")
+	return
+}
+
+// CreateModifyBackupPolicyResponse creates a response to parse from ModifyBackupPolicy response
+func CreateModifyBackupPolicyResponse() (response *ModifyBackupPolicyResponse) {
+	response = &ModifyBackupPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/dds/modify_db_instance_connection_string.go

@@ -0,0 +1,111 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.ModifyDBInstanceConnectionString API synchronously
+// api document: https://help.aliyun.com/api/dds/modifydbinstanceconnectionstring.html
+func (client *Client) ModifyDBInstanceConnectionString(request *ModifyDBInstanceConnectionStringRequest) (response *ModifyDBInstanceConnectionStringResponse, err error) {
+	response = CreateModifyDBInstanceConnectionStringResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDBInstanceConnectionStringWithChan invokes the dds.ModifyDBInstanceConnectionString API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.ModifyDBInstanceConnectionString API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
+	DBInstanceId            string           `position:"Query" name:"DBInstanceId"`
+	NewConnectionString     string           `position:"Query" name:"NewConnectionString"`
+	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
+	NodeId                  string           `position:"Query" name:"NodeId"`
+	CurrentConnectionString string           `position:"Query" name:"CurrentConnectionString"`
+}
+
+// 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("Dds", "2015-12-01", "ModifyDBInstanceConnectionString", "dds", "openAPI")
+	return
+}
+
+// CreateModifyDBInstanceConnectionStringResponse creates a response to parse from ModifyDBInstanceConnectionString response
+func CreateModifyDBInstanceConnectionStringResponse() (response *ModifyDBInstanceConnectionStringResponse) {
+	response = &ModifyDBInstanceConnectionStringResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dds/modify_db_instance_description.go

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

+ 110 - 0
services/dds/modify_db_instance_maintain_time.go

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

+ 109 - 0
services/dds/modify_db_instance_monitor.go

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

+ 110 - 0
services/dds/modify_db_instance_net_expire_time.go

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

+ 113 - 0
services/dds/modify_db_instance_network_type.go

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

+ 117 - 0
services/dds/modify_db_instance_spec.go

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

+ 109 - 0
services/dds/modify_db_instance_ssl.go

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

+ 109 - 0
services/dds/modify_guard_domain_mode.go

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

+ 114 - 0
services/dds/modify_node_spec.go

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

+ 110 - 0
services/dds/modify_parameters.go

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

+ 109 - 0
services/dds/modify_replica_description.go

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

+ 111 - 0
services/dds/modify_replica_mode.go

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

+ 109 - 0
services/dds/modify_replica_recovery_mode.go

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

+ 108 - 0
services/dds/modify_replica_relation.go

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

+ 109 - 0
services/dds/modify_replica_verification_mode.go

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

+ 112 - 0
services/dds/modify_security_ips.go

@@ -0,0 +1,112 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.ModifySecurityIps API synchronously
+// api document: https://help.aliyun.com/api/dds/modifysecurityips.html
+func (client *Client) ModifySecurityIps(request *ModifySecurityIpsRequest) (response *ModifySecurityIpsResponse, err error) {
+	response = CreateModifySecurityIpsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySecurityIpsWithChan invokes the dds.ModifySecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.ModifySecurityIps API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	ModifyMode               string           `position:"Query" name:"ModifyMode"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount             string           `position:"Query" name:"OwnerAccount"`
+	SecurityIps              string           `position:"Query" name:"SecurityIps"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityIpGroupName      string           `position:"Query" name:"SecurityIpGroupName"`
+	SecurityToken            string           `position:"Query" name:"SecurityToken"`
+	DBInstanceId             string           `position:"Query" name:"DBInstanceId"`
+	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("Dds", "2015-12-01", "ModifySecurityIps", "dds", "openAPI")
+	return
+}
+
+// CreateModifySecurityIpsResponse creates a response to parse from ModifySecurityIps response
+func CreateModifySecurityIpsResponse() (response *ModifySecurityIpsResponse) {
+	response = &ModifySecurityIpsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/dds/release_public_network_address.go

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

+ 108 - 0
services/dds/release_replica.go

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

+ 114 - 0
services/dds/renew_db_instance.go

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

+ 110 - 0
services/dds/reset_account_password.go

@@ -0,0 +1,110 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds.ResetAccountPassword API synchronously
+// api document: https://help.aliyun.com/api/dds/resetaccountpassword.html
+func (client *Client) ResetAccountPassword(request *ResetAccountPasswordRequest) (response *ResetAccountPasswordResponse, err error) {
+	response = CreateResetAccountPasswordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ResetAccountPasswordWithChan invokes the dds.ResetAccountPassword API asynchronously
+// api document: https://help.aliyun.com/api/dds/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 dds.ResetAccountPassword API asynchronously
+// api document: https://help.aliyun.com/api/dds/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"`
+	AccountPassword      string           `position:"Query" name:"AccountPassword"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// 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("Dds", "2015-12-01", "ResetAccountPassword", "dds", "openAPI")
+	return
+}
+
+// CreateResetAccountPasswordResponse creates a response to parse from ResetAccountPassword response
+func CreateResetAccountPasswordResponse() (response *ResetAccountPasswordResponse) {
+	response = &ResetAccountPasswordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/dds/restart_db_instance.go

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

+ 109 - 0
services/dds/restore_db_instance.go

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

+ 110 - 0
services/dds/sample.go

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

+ 24 - 0
services/dds/struct_account.go

@@ -0,0 +1,24 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds response
+type Account struct {
+	DBInstanceId       string `json:"DBInstanceId" xml:"DBInstanceId"`
+	AccountName        string `json:"AccountName" xml:"AccountName"`
+	AccountStatus      string `json:"AccountStatus" xml:"AccountStatus"`
+	AccountDescription string `json:"AccountDescription" xml:"AccountDescription"`
+}

+ 21 - 0
services/dds/struct_accounts_in_describe_accounts.go

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

+ 21 - 0
services/dds/struct_accounts_in_evaluate_fail_over_switch.go

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

+ 29 - 0
services/dds/struct_accounts_item.go

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

+ 36 - 0
services/dds/struct_analyzation.go

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

+ 21 - 0
services/dds/struct_analyzations.go

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

+ 30 - 0
services/dds/struct_backup.go

@@ -0,0 +1,30 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds response
+type Backup struct {
+	BackupDBNames     string `json:"BackupDBNames" xml:"BackupDBNames"`
+	BackupId          int    `json:"BackupId" xml:"BackupId"`
+	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        int    `json:"BackupSize" xml:"BackupSize"`
+}

+ 21 - 0
services/dds/struct_backups.go

@@ -0,0 +1,21 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds response
+type Backups struct {
+	Backup []Backup `json:"Backup" xml:"Backup"`
+}

+ 21 - 0
services/dds/struct_config_parameters.go

@@ -0,0 +1,21 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds response
+type ConfigParameters struct {
+	Parameter []Parameter `json:"Parameter" xml:"Parameter"`
+}

+ 50 - 0
services/dds/struct_db_instance.go

@@ -0,0 +1,50 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// DBInstance is a nested struct in dds response
+type DBInstance struct {
+	ReplicaSetName        string                                  `json:"ReplicaSetName" xml:"ReplicaSetName"`
+	DBInstanceDescription string                                  `json:"DBInstanceDescription" xml:"DBInstanceDescription"`
+	Engine                string                                  `json:"Engine" xml:"Engine"`
+	ChargeType            string                                  `json:"ChargeType" xml:"ChargeType"`
+	DBInstanceClass       string                                  `json:"DBInstanceClass" xml:"DBInstanceClass"`
+	DestroyTime           string                                  `json:"DestroyTime" xml:"DestroyTime"`
+	RegionId              string                                  `json:"RegionId" xml:"RegionId"`
+	MaxConnections        int                                     `json:"MaxConnections" xml:"MaxConnections"`
+	DBInstanceType        string                                  `json:"DBInstanceType" xml:"DBInstanceType"`
+	MaintainEndTime       string                                  `json:"MaintainEndTime" xml:"MaintainEndTime"`
+	ExpireTime            string                                  `json:"ExpireTime" xml:"ExpireTime"`
+	DBInstanceId          string                                  `json:"DBInstanceId" xml:"DBInstanceId"`
+	NetworkType           string                                  `json:"NetworkType" xml:"NetworkType"`
+	ReplicationFactor     string                                  `json:"ReplicationFactor" xml:"ReplicationFactor"`
+	MaxIOPS               int                                     `json:"MaxIOPS" xml:"MaxIOPS"`
+	ReplacateId           string                                  `json:"ReplacateId" xml:"ReplacateId"`
+	EngineVersion         string                                  `json:"EngineVersion" xml:"EngineVersion"`
+	VPCId                 string                                  `json:"VPCId" xml:"VPCId"`
+	VSwitchId             string                                  `json:"VSwitchId" xml:"VSwitchId"`
+	MaintainStartTime     string                                  `json:"MaintainStartTime" xml:"MaintainStartTime"`
+	DBInstanceStorage     int                                     `json:"DBInstanceStorage" xml:"DBInstanceStorage"`
+	CreationTime          string                                  `json:"CreationTime" xml:"CreationTime"`
+	StorageEngine         string                                  `json:"StorageEngine" xml:"StorageEngine"`
+	DBInstanceStatus      string                                  `json:"DBInstanceStatus" xml:"DBInstanceStatus"`
+	CurrentKernelVersion  string                                  `json:"CurrentKernelVersion" xml:"CurrentKernelVersion"`
+	ZoneId                string                                  `json:"ZoneId" xml:"ZoneId"`
+	LastDowngradeTime     int                                     `json:"LastDowngradeTime" xml:"LastDowngradeTime"`
+	LockMode              string                                  `json:"LockMode" xml:"LockMode"`
+	ShardList             ShardListInDescribeDBInstances          `json:"ShardList" xml:"ShardList"`
+	MongosList            MongosListInDescribeDBInstanceAttribute `json:"MongosList" xml:"MongosList"`
+}

+ 21 - 0
services/dds/struct_db_instances_in_describe_db_instance_attribute.go

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

+ 21 - 0
services/dds/struct_db_instances_in_describe_db_instances.go

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

+ 21 - 0
services/dds/struct_db_instances_in_describe_replicas.go

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

+ 23 - 0
services/dds/struct_dds_region.go

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

+ 24 - 0
services/dds/struct_historical_parameter.go

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

+ 21 - 0
services/dds/struct_historical_parameters.go

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

+ 21 - 0
services/dds/struct_index_combines.go

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

+ 21 - 0
services/dds/struct_index_recommendations.go

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

+ 36 - 0
services/dds/struct_items.go

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

+ 21 - 0
services/dds/struct_items_in_describe_audit_files.go

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

+ 21 - 0
services/dds/struct_items_in_describe_audit_records.go

@@ -0,0 +1,21 @@
+package dds
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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 dds response
+type ItemsInDescribeAuditRecords struct {
+	SQLRecord []SQLRecord `json:"SQLRecord" xml:"SQLRecord"`
+}

+ 21 - 0
services/dds/struct_items_in_describe_replica_conflict_info.go

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

+ 21 - 0
services/dds/struct_items_in_describe_replica_initialize_progress.go

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

+ 21 - 0
services/dds/struct_items_in_describe_static_verification_list.go

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

+ 21 - 0
services/dds/struct_items_in_describe_verification_list.go

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

+ 21 - 0
services/dds/struct_items_in_evaluate_fail_over_switch.go

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

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