Jelajahi Sumber

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

yixiong.jxy 7 tahun lalu
induk
melakukan
d99fb0db6d
100 mengubah file dengan 8816 tambahan dan 0 penghapusan
  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
 2018-08-22 Version: 1.26.0
 1, Add api CreateSimulatedSystemEvents, support creating one or more simulated system events.
 1, Add api CreateSimulatedSystemEvents, support creating one or more simulated system events.
 2, Add api CancelSimulatedSystemEvents, support cancelling 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"`
+}

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini