Browse Source

Support instance manage API, includes UpdateInstance and DeleteInstance.

sdk-team 6 years ago
parent
commit
a28437713e
67 changed files with 3631 additions and 0 deletions
  1. 7 0
      ChangeLog.txt
  2. 129 0
      services/dms_enterprise/client.go
  3. 109 0
      services/dms_enterprise/delete_instance.go
  4. 107 0
      services/dms_enterprise/delete_user.go
  5. 107 0
      services/dms_enterprise/disable_user.go
  6. 107 0
      services/dms_enterprise/enable_user.go
  7. 20 0
      services/dms_enterprise/endpoint.go
  8. 111 0
      services/dms_enterprise/get_database.go
  9. 110 0
      services/dms_enterprise/get_instance.go
  10. 109 0
      services/dms_enterprise/get_logic_database.go
  11. 113 0
      services/dms_enterprise/get_op_log.go
  12. 109 0
      services/dms_enterprise/list_columns.go
  13. 111 0
      services/dms_enterprise/list_databases.go
  14. 110 0
      services/dms_enterprise/list_indexes.go
  15. 116 0
      services/dms_enterprise/list_instances.go
  16. 110 0
      services/dms_enterprise/list_logic_databases.go
  17. 112 0
      services/dms_enterprise/list_logic_tables.go
  18. 112 0
      services/dms_enterprise/list_tables.go
  19. 113 0
      services/dms_enterprise/list_users.go
  20. 126 0
      services/dms_enterprise/register_instance.go
  21. 109 0
      services/dms_enterprise/register_user.go
  22. 115 0
      services/dms_enterprise/search_database.go
  23. 113 0
      services/dms_enterprise/search_table.go
  24. 33 0
      services/dms_enterprise/struct_column.go
  25. 21 0
      services/dms_enterprise/struct_column_list_in_list_columns.go
  26. 21 0
      services/dms_enterprise/struct_column_list_in_list_indexes.go
  27. 36 0
      services/dms_enterprise/struct_database.go
  28. 36 0
      services/dms_enterprise/struct_database_in_list_databases.go
  29. 21 0
      services/dms_enterprise/struct_database_list.go
  30. 25 0
      services/dms_enterprise/struct_index.go
  31. 21 0
      services/dms_enterprise/struct_index_list.go
  32. 42 0
      services/dms_enterprise/struct_instance.go
  33. 21 0
      services/dms_enterprise/struct_instance_list.go
  34. 28 0
      services/dms_enterprise/struct_logic_database.go
  35. 21 0
      services/dms_enterprise/struct_logic_database_list.go
  36. 28 0
      services/dms_enterprise/struct_logic_table.go
  37. 21 0
      services/dms_enterprise/struct_logic_table_list.go
  38. 27 0
      services/dms_enterprise/struct_op_log_detail.go
  39. 21 0
      services/dms_enterprise/struct_op_log_details.go
  40. 21 0
      services/dms_enterprise/struct_owner_id_list_in_get_database.go
  41. 21 0
      services/dms_enterprise/struct_owner_id_list_in_get_logic_database.go
  42. 21 0
      services/dms_enterprise/struct_owner_id_list_in_list_databases.go
  43. 21 0
      services/dms_enterprise/struct_owner_id_list_in_list_logic_databases.go
  44. 21 0
      services/dms_enterprise/struct_owner_id_list_in_list_logic_tables.go
  45. 21 0
      services/dms_enterprise/struct_owner_id_list_in_list_tables.go
  46. 21 0
      services/dms_enterprise/struct_owner_id_list_in_search_database.go
  47. 21 0
      services/dms_enterprise/struct_owner_id_list_in_search_table.go
  48. 21 0
      services/dms_enterprise/struct_owner_name_list_in_get_database.go
  49. 21 0
      services/dms_enterprise/struct_owner_name_list_in_get_logic_database.go
  50. 21 0
      services/dms_enterprise/struct_owner_name_list_in_list_databases.go
  51. 21 0
      services/dms_enterprise/struct_owner_name_list_in_list_logic_databases.go
  52. 21 0
      services/dms_enterprise/struct_owner_name_list_in_list_logic_tables.go
  53. 21 0
      services/dms_enterprise/struct_owner_name_list_in_list_tables.go
  54. 21 0
      services/dms_enterprise/struct_owner_name_list_in_search_database.go
  55. 21 0
      services/dms_enterprise/struct_owner_name_list_in_search_table.go
  56. 21 0
      services/dms_enterprise/struct_role_id_list.go
  57. 21 0
      services/dms_enterprise/struct_role_name_list.go
  58. 35 0
      services/dms_enterprise/struct_search_database.go
  59. 21 0
      services/dms_enterprise/struct_search_database_list.go
  60. 31 0
      services/dms_enterprise/struct_search_table.go
  61. 21 0
      services/dms_enterprise/struct_search_table_list.go
  62. 31 0
      services/dms_enterprise/struct_table.go
  63. 21 0
      services/dms_enterprise/struct_table_list.go
  64. 28 0
      services/dms_enterprise/struct_user.go
  65. 21 0
      services/dms_enterprise/struct_user_list.go
  66. 126 0
      services/dms_enterprise/update_instance.go
  67. 110 0
      services/dms_enterprise/update_user.go

+ 7 - 0
ChangeLog.txt

@@ -1,3 +1,10 @@
+2019-10-17 Version: 1.60.200
+- Support instance manage API, includes UpdateInstance and DeleteInstance.
+- Support user manage API, includes ListUsers and UpdateUser.
+- Support meta data information API, includes ListInstances, ListDatabases, ListLogicDatabases, ListTables, ListLogicTables, ListColumns, ListIndexes.
+- Support meta data search API, inclues SearchDatabase, SearcTable.
+- Support RegisterInstance API to set datalinkName and useDsql option.
+
 2019-10-16 Version: 1.60.199
 - Optimize instance relevant interface.
 

+ 129 - 0
services/dms_enterprise/client.go

@@ -0,0 +1,129 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"reflect"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
+	return
+}

+ 109 - 0
services/dms_enterprise/delete_instance.go

@@ -0,0 +1,109 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteInstance invokes the dms_enterprise.DeleteInstance API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/deleteinstance.html
+func (client *Client) DeleteInstance(request *DeleteInstanceRequest) (response *DeleteInstanceResponse, err error) {
+	response = CreateDeleteInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteInstanceWithChan invokes the dms_enterprise.DeleteInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/deleteinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceWithChan(request *DeleteInstanceRequest) (<-chan *DeleteInstanceResponse, <-chan error) {
+	responseChan := make(chan *DeleteInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteInstanceWithCallback invokes the dms_enterprise.DeleteInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/deleteinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteInstanceWithCallback(request *DeleteInstanceRequest, callback func(response *DeleteInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteInstanceRequest is the request struct for api DeleteInstance
+type DeleteInstanceRequest struct {
+	*requests.RpcRequest
+	Port requests.Integer `position:"Query" name:"Port"`
+	Host string           `position:"Query" name:"Host"`
+	Tid  requests.Integer `position:"Query" name:"Tid"`
+	Sid  string           `position:"Query" name:"Sid"`
+}
+
+// DeleteInstanceResponse is the response struct for api DeleteInstance
+type DeleteInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateDeleteInstanceRequest creates a request to invoke DeleteInstance API
+func CreateDeleteInstanceRequest() (request *DeleteInstanceRequest) {
+	request = &DeleteInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "DeleteInstance", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateDeleteInstanceResponse creates a response to parse from DeleteInstance response
+func CreateDeleteInstanceResponse() (response *DeleteInstanceResponse) {
+	response = &DeleteInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/dms_enterprise/delete_user.go

@@ -0,0 +1,107 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteUser invokes the dms_enterprise.DeleteUser API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/deleteuser.html
+func (client *Client) DeleteUser(request *DeleteUserRequest) (response *DeleteUserResponse, err error) {
+	response = CreateDeleteUserResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteUserWithChan invokes the dms_enterprise.DeleteUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/deleteuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserWithChan(request *DeleteUserRequest) (<-chan *DeleteUserResponse, <-chan error) {
+	responseChan := make(chan *DeleteUserResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUser(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteUserWithCallback invokes the dms_enterprise.DeleteUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/deleteuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUserWithCallback(request *DeleteUserRequest, callback func(response *DeleteUserResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUserResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUser(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteUserRequest is the request struct for api DeleteUser
+type DeleteUserRequest struct {
+	*requests.RpcRequest
+	Uid requests.Integer `position:"Query" name:"Uid"`
+	Tid requests.Integer `position:"Query" name:"Tid"`
+}
+
+// DeleteUserResponse is the response struct for api DeleteUser
+type DeleteUserResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateDeleteUserRequest creates a request to invoke DeleteUser API
+func CreateDeleteUserRequest() (request *DeleteUserRequest) {
+	request = &DeleteUserRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "DeleteUser", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateDeleteUserResponse creates a response to parse from DeleteUser response
+func CreateDeleteUserResponse() (response *DeleteUserResponse) {
+	response = &DeleteUserResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/dms_enterprise/disable_user.go

@@ -0,0 +1,107 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DisableUser invokes the dms_enterprise.DisableUser API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/disableuser.html
+func (client *Client) DisableUser(request *DisableUserRequest) (response *DisableUserResponse, err error) {
+	response = CreateDisableUserResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DisableUserWithChan invokes the dms_enterprise.DisableUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/disableuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableUserWithChan(request *DisableUserRequest) (<-chan *DisableUserResponse, <-chan error) {
+	responseChan := make(chan *DisableUserResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DisableUser(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DisableUserWithCallback invokes the dms_enterprise.DisableUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/disableuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableUserWithCallback(request *DisableUserRequest, callback func(response *DisableUserResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DisableUserResponse
+		var err error
+		defer close(result)
+		response, err = client.DisableUser(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DisableUserRequest is the request struct for api DisableUser
+type DisableUserRequest struct {
+	*requests.RpcRequest
+	Uid requests.Integer `position:"Query" name:"Uid"`
+	Tid requests.Integer `position:"Query" name:"Tid"`
+}
+
+// DisableUserResponse is the response struct for api DisableUser
+type DisableUserResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateDisableUserRequest creates a request to invoke DisableUser API
+func CreateDisableUserRequest() (request *DisableUserRequest) {
+	request = &DisableUserRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "DisableUser", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateDisableUserResponse creates a response to parse from DisableUser response
+func CreateDisableUserResponse() (response *DisableUserResponse) {
+	response = &DisableUserResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/dms_enterprise/enable_user.go

@@ -0,0 +1,107 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// EnableUser invokes the dms_enterprise.EnableUser API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/enableuser.html
+func (client *Client) EnableUser(request *EnableUserRequest) (response *EnableUserResponse, err error) {
+	response = CreateEnableUserResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EnableUserWithChan invokes the dms_enterprise.EnableUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/enableuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableUserWithChan(request *EnableUserRequest) (<-chan *EnableUserResponse, <-chan error) {
+	responseChan := make(chan *EnableUserResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EnableUser(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EnableUserWithCallback invokes the dms_enterprise.EnableUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/enableuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableUserWithCallback(request *EnableUserRequest, callback func(response *EnableUserResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EnableUserResponse
+		var err error
+		defer close(result)
+		response, err = client.EnableUser(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EnableUserRequest is the request struct for api EnableUser
+type EnableUserRequest struct {
+	*requests.RpcRequest
+	Uid requests.Integer `position:"Query" name:"Uid"`
+	Tid requests.Integer `position:"Query" name:"Tid"`
+}
+
+// EnableUserResponse is the response struct for api EnableUser
+type EnableUserResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateEnableUserRequest creates a request to invoke EnableUser API
+func CreateEnableUserRequest() (request *EnableUserRequest) {
+	request = &EnableUserRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "EnableUser", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateEnableUserResponse creates a response to parse from EnableUser response
+func CreateEnableUserResponse() (response *EnableUserResponse) {
+	response = &EnableUserResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 20 - 0
services/dms_enterprise/endpoint.go

@@ -0,0 +1,20 @@
+package dms_enterprise
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "central"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 111 - 0
services/dms_enterprise/get_database.go

@@ -0,0 +1,111 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetDatabase invokes the dms_enterprise.GetDatabase API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getdatabase.html
+func (client *Client) GetDatabase(request *GetDatabaseRequest) (response *GetDatabaseResponse, err error) {
+	response = CreateGetDatabaseResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetDatabaseWithChan invokes the dms_enterprise.GetDatabase API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetDatabaseWithChan(request *GetDatabaseRequest) (<-chan *GetDatabaseResponse, <-chan error) {
+	responseChan := make(chan *GetDatabaseResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetDatabase(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetDatabaseWithCallback invokes the dms_enterprise.GetDatabase API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetDatabaseWithCallback(request *GetDatabaseRequest, callback func(response *GetDatabaseResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetDatabaseResponse
+		var err error
+		defer close(result)
+		response, err = client.GetDatabase(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetDatabaseRequest is the request struct for api GetDatabase
+type GetDatabaseRequest struct {
+	*requests.RpcRequest
+	SchemaName string           `position:"Query" name:"SchemaName"`
+	Port       requests.Integer `position:"Query" name:"Port"`
+	Host       string           `position:"Query" name:"Host"`
+	Tid        requests.Integer `position:"Query" name:"Tid"`
+	Sid        string           `position:"Query" name:"Sid"`
+}
+
+// GetDatabaseResponse is the response struct for api GetDatabase
+type GetDatabaseResponse struct {
+	*responses.BaseResponse
+	RequestId    string   `json:"RequestId" xml:"RequestId"`
+	Success      bool     `json:"Success" xml:"Success"`
+	ErrorMessage string   `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string   `json:"ErrorCode" xml:"ErrorCode"`
+	Database     Database `json:"Database" xml:"Database"`
+}
+
+// CreateGetDatabaseRequest creates a request to invoke GetDatabase API
+func CreateGetDatabaseRequest() (request *GetDatabaseRequest) {
+	request = &GetDatabaseRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "GetDatabase", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateGetDatabaseResponse creates a response to parse from GetDatabase response
+func CreateGetDatabaseResponse() (response *GetDatabaseResponse) {
+	response = &GetDatabaseResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dms_enterprise/get_instance.go

@@ -0,0 +1,110 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetInstance invokes the dms_enterprise.GetInstance API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getinstance.html
+func (client *Client) GetInstance(request *GetInstanceRequest) (response *GetInstanceResponse, err error) {
+	response = CreateGetInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceWithChan invokes the dms_enterprise.GetInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceWithChan(request *GetInstanceRequest) (<-chan *GetInstanceResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceWithCallback invokes the dms_enterprise.GetInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceWithCallback(request *GetInstanceRequest, callback func(response *GetInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceRequest is the request struct for api GetInstance
+type GetInstanceRequest struct {
+	*requests.RpcRequest
+	Port requests.Integer `position:"Query" name:"Port"`
+	Host string           `position:"Query" name:"Host"`
+	Tid  requests.Integer `position:"Query" name:"Tid"`
+	Sid  string           `position:"Query" name:"Sid"`
+}
+
+// GetInstanceResponse is the response struct for api GetInstance
+type GetInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string   `json:"RequestId" xml:"RequestId"`
+	Success      bool     `json:"Success" xml:"Success"`
+	ErrorMessage string   `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string   `json:"ErrorCode" xml:"ErrorCode"`
+	Instance     Instance `json:"Instance" xml:"Instance"`
+}
+
+// CreateGetInstanceRequest creates a request to invoke GetInstance API
+func CreateGetInstanceRequest() (request *GetInstanceRequest) {
+	request = &GetInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "GetInstance", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateGetInstanceResponse creates a response to parse from GetInstance response
+func CreateGetInstanceResponse() (response *GetInstanceResponse) {
+	response = &GetInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/dms_enterprise/get_logic_database.go

@@ -0,0 +1,109 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetLogicDatabase invokes the dms_enterprise.GetLogicDatabase API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getlogicdatabase.html
+func (client *Client) GetLogicDatabase(request *GetLogicDatabaseRequest) (response *GetLogicDatabaseResponse, err error) {
+	response = CreateGetLogicDatabaseResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetLogicDatabaseWithChan invokes the dms_enterprise.GetLogicDatabase API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getlogicdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLogicDatabaseWithChan(request *GetLogicDatabaseRequest) (<-chan *GetLogicDatabaseResponse, <-chan error) {
+	responseChan := make(chan *GetLogicDatabaseResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetLogicDatabase(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetLogicDatabaseWithCallback invokes the dms_enterprise.GetLogicDatabase API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getlogicdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetLogicDatabaseWithCallback(request *GetLogicDatabaseRequest, callback func(response *GetLogicDatabaseResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetLogicDatabaseResponse
+		var err error
+		defer close(result)
+		response, err = client.GetLogicDatabase(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetLogicDatabaseRequest is the request struct for api GetLogicDatabase
+type GetLogicDatabaseRequest struct {
+	*requests.RpcRequest
+	DbId string           `position:"Query" name:"DbId"`
+	Tid  requests.Integer `position:"Query" name:"Tid"`
+}
+
+// GetLogicDatabaseResponse is the response struct for api GetLogicDatabase
+type GetLogicDatabaseResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	Success       bool          `json:"Success" xml:"Success"`
+	ErrorMessage  string        `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode     string        `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount    int64         `json:"TotalCount" xml:"TotalCount"`
+	LogicDatabase LogicDatabase `json:"LogicDatabase" xml:"LogicDatabase"`
+}
+
+// CreateGetLogicDatabaseRequest creates a request to invoke GetLogicDatabase API
+func CreateGetLogicDatabaseRequest() (request *GetLogicDatabaseRequest) {
+	request = &GetLogicDatabaseRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "GetLogicDatabase", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateGetLogicDatabaseResponse creates a response to parse from GetLogicDatabase response
+func CreateGetLogicDatabaseResponse() (response *GetLogicDatabaseResponse) {
+	response = &GetLogicDatabaseResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/dms_enterprise/get_op_log.go

@@ -0,0 +1,113 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetOpLog invokes the dms_enterprise.GetOpLog API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getoplog.html
+func (client *Client) GetOpLog(request *GetOpLogRequest) (response *GetOpLogResponse, err error) {
+	response = CreateGetOpLogResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetOpLogWithChan invokes the dms_enterprise.GetOpLog API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getoplog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOpLogWithChan(request *GetOpLogRequest) (<-chan *GetOpLogResponse, <-chan error) {
+	responseChan := make(chan *GetOpLogResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetOpLog(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetOpLogWithCallback invokes the dms_enterprise.GetOpLog API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/getoplog.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetOpLogWithCallback(request *GetOpLogRequest, callback func(response *GetOpLogResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetOpLogResponse
+		var err error
+		defer close(result)
+		response, err = client.GetOpLog(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetOpLogRequest is the request struct for api GetOpLog
+type GetOpLogRequest struct {
+	*requests.RpcRequest
+	Module     string           `position:"Query" name:"Module"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	EndTime    string           `position:"Query" name:"EndTime"`
+	StartTime  string           `position:"Query" name:"StartTime"`
+	Tid        requests.Integer `position:"Query" name:"Tid"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// GetOpLogResponse is the response struct for api GetOpLog
+type GetOpLogResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	Success      bool         `json:"Success" xml:"Success"`
+	ErrorMessage string       `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string       `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount   int64        `json:"TotalCount" xml:"TotalCount"`
+	OpLogDetails OpLogDetails `json:"OpLogDetails" xml:"OpLogDetails"`
+}
+
+// CreateGetOpLogRequest creates a request to invoke GetOpLog API
+func CreateGetOpLogRequest() (request *GetOpLogRequest) {
+	request = &GetOpLogRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "GetOpLog", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateGetOpLogResponse creates a response to parse from GetOpLog response
+func CreateGetOpLogResponse() (response *GetOpLogResponse) {
+	response = &GetOpLogResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/dms_enterprise/list_columns.go

@@ -0,0 +1,109 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListColumns invokes the dms_enterprise.ListColumns API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listcolumns.html
+func (client *Client) ListColumns(request *ListColumnsRequest) (response *ListColumnsResponse, err error) {
+	response = CreateListColumnsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListColumnsWithChan invokes the dms_enterprise.ListColumns API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listcolumns.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListColumnsWithChan(request *ListColumnsRequest) (<-chan *ListColumnsResponse, <-chan error) {
+	responseChan := make(chan *ListColumnsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListColumns(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListColumnsWithCallback invokes the dms_enterprise.ListColumns API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listcolumns.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListColumnsWithCallback(request *ListColumnsRequest, callback func(response *ListColumnsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListColumnsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListColumns(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListColumnsRequest is the request struct for api ListColumns
+type ListColumnsRequest struct {
+	*requests.RpcRequest
+	TableId string           `position:"Query" name:"TableId"`
+	Logic   requests.Boolean `position:"Query" name:"Logic"`
+	Tid     requests.Integer `position:"Query" name:"Tid"`
+}
+
+// ListColumnsResponse is the response struct for api ListColumns
+type ListColumnsResponse struct {
+	*responses.BaseResponse
+	RequestId    string                  `json:"RequestId" xml:"RequestId"`
+	Success      bool                    `json:"Success" xml:"Success"`
+	ErrorMessage string                  `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string                  `json:"ErrorCode" xml:"ErrorCode"`
+	ColumnList   ColumnListInListColumns `json:"ColumnList" xml:"ColumnList"`
+}
+
+// CreateListColumnsRequest creates a request to invoke ListColumns API
+func CreateListColumnsRequest() (request *ListColumnsRequest) {
+	request = &ListColumnsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListColumns", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListColumnsResponse creates a response to parse from ListColumns response
+func CreateListColumnsResponse() (response *ListColumnsResponse) {
+	response = &ListColumnsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/dms_enterprise/list_databases.go

@@ -0,0 +1,111 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListDatabases invokes the dms_enterprise.ListDatabases API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listdatabases.html
+func (client *Client) ListDatabases(request *ListDatabasesRequest) (response *ListDatabasesResponse, err error) {
+	response = CreateListDatabasesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDatabasesWithChan invokes the dms_enterprise.ListDatabases API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listdatabases.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDatabasesWithChan(request *ListDatabasesRequest) (<-chan *ListDatabasesResponse, <-chan error) {
+	responseChan := make(chan *ListDatabasesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDatabases(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDatabasesWithCallback invokes the dms_enterprise.ListDatabases API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listdatabases.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDatabasesWithCallback(request *ListDatabasesRequest, callback func(response *ListDatabasesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDatabasesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDatabases(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDatabasesRequest is the request struct for api ListDatabases
+type ListDatabasesRequest struct {
+	*requests.RpcRequest
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	Tid        requests.Integer `position:"Query" name:"Tid"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// ListDatabasesResponse is the response struct for api ListDatabases
+type ListDatabasesResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	Success      bool         `json:"Success" xml:"Success"`
+	ErrorMessage string       `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string       `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount   int64        `json:"TotalCount" xml:"TotalCount"`
+	DatabaseList DatabaseList `json:"DatabaseList" xml:"DatabaseList"`
+}
+
+// CreateListDatabasesRequest creates a request to invoke ListDatabases API
+func CreateListDatabasesRequest() (request *ListDatabasesRequest) {
+	request = &ListDatabasesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListDatabases", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListDatabasesResponse creates a response to parse from ListDatabases response
+func CreateListDatabasesResponse() (response *ListDatabasesResponse) {
+	response = &ListDatabasesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dms_enterprise/list_indexes.go

@@ -0,0 +1,110 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListIndexes invokes the dms_enterprise.ListIndexes API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listindexes.html
+func (client *Client) ListIndexes(request *ListIndexesRequest) (response *ListIndexesResponse, err error) {
+	response = CreateListIndexesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListIndexesWithChan invokes the dms_enterprise.ListIndexes API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listindexes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListIndexesWithChan(request *ListIndexesRequest) (<-chan *ListIndexesResponse, <-chan error) {
+	responseChan := make(chan *ListIndexesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListIndexes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListIndexesWithCallback invokes the dms_enterprise.ListIndexes API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listindexes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListIndexesWithCallback(request *ListIndexesRequest, callback func(response *ListIndexesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListIndexesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListIndexes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListIndexesRequest is the request struct for api ListIndexes
+type ListIndexesRequest struct {
+	*requests.RpcRequest
+	TableId string           `position:"Query" name:"TableId"`
+	Logic   requests.Boolean `position:"Query" name:"Logic"`
+	Tid     requests.Integer `position:"Query" name:"Tid"`
+}
+
+// ListIndexesResponse is the response struct for api ListIndexes
+type ListIndexesResponse struct {
+	*responses.BaseResponse
+	RequestId    string                  `json:"RequestId" xml:"RequestId"`
+	Success      bool                    `json:"Success" xml:"Success"`
+	ErrorMessage string                  `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string                  `json:"ErrorCode" xml:"ErrorCode"`
+	ColumnList   ColumnListInListIndexes `json:"ColumnList" xml:"ColumnList"`
+	IndexList    IndexList               `json:"IndexList" xml:"IndexList"`
+}
+
+// CreateListIndexesRequest creates a request to invoke ListIndexes API
+func CreateListIndexesRequest() (request *ListIndexesRequest) {
+	request = &ListIndexesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListIndexes", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListIndexesResponse creates a response to parse from ListIndexes response
+func CreateListIndexesResponse() (response *ListIndexesResponse) {
+	response = &ListIndexesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/dms_enterprise/list_instances.go

@@ -0,0 +1,116 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListInstances invokes the dms_enterprise.ListInstances API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listinstances.html
+func (client *Client) ListInstances(request *ListInstancesRequest) (response *ListInstancesResponse, err error) {
+	response = CreateListInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstancesWithChan invokes the dms_enterprise.ListInstances API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstancesWithChan(request *ListInstancesRequest) (<-chan *ListInstancesResponse, <-chan error) {
+	responseChan := make(chan *ListInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstancesWithCallback invokes the dms_enterprise.ListInstances API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstancesWithCallback(request *ListInstancesRequest, callback func(response *ListInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstancesRequest is the request struct for api ListInstances
+type ListInstancesRequest struct {
+	*requests.RpcRequest
+	SearchKey      string           `position:"Query" name:"SearchKey"`
+	Tid            requests.Integer `position:"Query" name:"Tid"`
+	InstanceState  string           `position:"Query" name:"InstanceState"`
+	PageNumber     requests.Integer `position:"Query" name:"PageNumber"`
+	NetType        string           `position:"Query" name:"NetType"`
+	DbType         string           `position:"Query" name:"DbType"`
+	EnvType        string           `position:"Query" name:"EnvType"`
+	InstanceSource string           `position:"Query" name:"InstanceSource"`
+	PageSize       requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListInstancesResponse is the response struct for api ListInstances
+type ListInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	Success      bool         `json:"Success" xml:"Success"`
+	ErrorMessage string       `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string       `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount   int64        `json:"TotalCount" xml:"TotalCount"`
+	InstanceList InstanceList `json:"InstanceList" xml:"InstanceList"`
+}
+
+// CreateListInstancesRequest creates a request to invoke ListInstances API
+func CreateListInstancesRequest() (request *ListInstancesRequest) {
+	request = &ListInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListInstances", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListInstancesResponse creates a response to parse from ListInstances response
+func CreateListInstancesResponse() (response *ListInstancesResponse) {
+	response = &ListInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dms_enterprise/list_logic_databases.go

@@ -0,0 +1,110 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListLogicDatabases invokes the dms_enterprise.ListLogicDatabases API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listlogicdatabases.html
+func (client *Client) ListLogicDatabases(request *ListLogicDatabasesRequest) (response *ListLogicDatabasesResponse, err error) {
+	response = CreateListLogicDatabasesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListLogicDatabasesWithChan invokes the dms_enterprise.ListLogicDatabases API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listlogicdatabases.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListLogicDatabasesWithChan(request *ListLogicDatabasesRequest) (<-chan *ListLogicDatabasesResponse, <-chan error) {
+	responseChan := make(chan *ListLogicDatabasesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListLogicDatabases(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListLogicDatabasesWithCallback invokes the dms_enterprise.ListLogicDatabases API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listlogicdatabases.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListLogicDatabasesWithCallback(request *ListLogicDatabasesRequest, callback func(response *ListLogicDatabasesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListLogicDatabasesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListLogicDatabases(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListLogicDatabasesRequest is the request struct for api ListLogicDatabases
+type ListLogicDatabasesRequest struct {
+	*requests.RpcRequest
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	Tid        requests.Integer `position:"Query" name:"Tid"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// ListLogicDatabasesResponse is the response struct for api ListLogicDatabases
+type ListLogicDatabasesResponse struct {
+	*responses.BaseResponse
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	Success           bool              `json:"Success" xml:"Success"`
+	ErrorMessage      string            `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode         string            `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount        int64             `json:"TotalCount" xml:"TotalCount"`
+	LogicDatabaseList LogicDatabaseList `json:"LogicDatabaseList" xml:"LogicDatabaseList"`
+}
+
+// CreateListLogicDatabasesRequest creates a request to invoke ListLogicDatabases API
+func CreateListLogicDatabasesRequest() (request *ListLogicDatabasesRequest) {
+	request = &ListLogicDatabasesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListLogicDatabases", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListLogicDatabasesResponse creates a response to parse from ListLogicDatabases response
+func CreateListLogicDatabasesResponse() (response *ListLogicDatabasesResponse) {
+	response = &ListLogicDatabasesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/dms_enterprise/list_logic_tables.go

@@ -0,0 +1,112 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListLogicTables invokes the dms_enterprise.ListLogicTables API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listlogictables.html
+func (client *Client) ListLogicTables(request *ListLogicTablesRequest) (response *ListLogicTablesResponse, err error) {
+	response = CreateListLogicTablesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListLogicTablesWithChan invokes the dms_enterprise.ListLogicTables API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listlogictables.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListLogicTablesWithChan(request *ListLogicTablesRequest) (<-chan *ListLogicTablesResponse, <-chan error) {
+	responseChan := make(chan *ListLogicTablesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListLogicTables(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListLogicTablesWithCallback invokes the dms_enterprise.ListLogicTables API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listlogictables.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListLogicTablesWithCallback(request *ListLogicTablesRequest, callback func(response *ListLogicTablesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListLogicTablesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListLogicTables(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListLogicTablesRequest is the request struct for api ListLogicTables
+type ListLogicTablesRequest struct {
+	*requests.RpcRequest
+	SearchName string           `position:"Query" name:"SearchName"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	DatabaseId string           `position:"Query" name:"DatabaseId"`
+	Tid        requests.Integer `position:"Query" name:"Tid"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// ListLogicTablesResponse is the response struct for api ListLogicTables
+type ListLogicTablesResponse struct {
+	*responses.BaseResponse
+	RequestId      string         `json:"RequestId" xml:"RequestId"`
+	Success        bool           `json:"Success" xml:"Success"`
+	ErrorMessage   string         `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode      string         `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount     int64          `json:"TotalCount" xml:"TotalCount"`
+	LogicTableList LogicTableList `json:"LogicTableList" xml:"LogicTableList"`
+}
+
+// CreateListLogicTablesRequest creates a request to invoke ListLogicTables API
+func CreateListLogicTablesRequest() (request *ListLogicTablesRequest) {
+	request = &ListLogicTablesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListLogicTables", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListLogicTablesResponse creates a response to parse from ListLogicTables response
+func CreateListLogicTablesResponse() (response *ListLogicTablesResponse) {
+	response = &ListLogicTablesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/dms_enterprise/list_tables.go

@@ -0,0 +1,112 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListTables invokes the dms_enterprise.ListTables API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listtables.html
+func (client *Client) ListTables(request *ListTablesRequest) (response *ListTablesResponse, err error) {
+	response = CreateListTablesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListTablesWithChan invokes the dms_enterprise.ListTables API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listtables.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTablesWithChan(request *ListTablesRequest) (<-chan *ListTablesResponse, <-chan error) {
+	responseChan := make(chan *ListTablesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListTables(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListTablesWithCallback invokes the dms_enterprise.ListTables API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listtables.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTablesWithCallback(request *ListTablesRequest, callback func(response *ListTablesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListTablesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListTables(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListTablesRequest is the request struct for api ListTables
+type ListTablesRequest struct {
+	*requests.RpcRequest
+	SearchName string           `position:"Query" name:"SearchName"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	DatabaseId string           `position:"Query" name:"DatabaseId"`
+	Tid        requests.Integer `position:"Query" name:"Tid"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// ListTablesResponse is the response struct for api ListTables
+type ListTablesResponse struct {
+	*responses.BaseResponse
+	RequestId    string    `json:"RequestId" xml:"RequestId"`
+	Success      bool      `json:"Success" xml:"Success"`
+	ErrorMessage string    `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string    `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount   int64     `json:"TotalCount" xml:"TotalCount"`
+	TableList    TableList `json:"TableList" xml:"TableList"`
+}
+
+// CreateListTablesRequest creates a request to invoke ListTables API
+func CreateListTablesRequest() (request *ListTablesRequest) {
+	request = &ListTablesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListTables", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListTablesResponse creates a response to parse from ListTables response
+func CreateListTablesResponse() (response *ListTablesResponse) {
+	response = &ListTablesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/dms_enterprise/list_users.go

@@ -0,0 +1,113 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListUsers invokes the dms_enterprise.ListUsers API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listusers.html
+func (client *Client) ListUsers(request *ListUsersRequest) (response *ListUsersResponse, err error) {
+	response = CreateListUsersResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListUsersWithChan invokes the dms_enterprise.ListUsers API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listusers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListUsersWithChan(request *ListUsersRequest) (<-chan *ListUsersResponse, <-chan error) {
+	responseChan := make(chan *ListUsersResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListUsers(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListUsersWithCallback invokes the dms_enterprise.ListUsers API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/listusers.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListUsersWithCallback(request *ListUsersRequest, callback func(response *ListUsersResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListUsersResponse
+		var err error
+		defer close(result)
+		response, err = client.ListUsers(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListUsersRequest is the request struct for api ListUsers
+type ListUsersRequest struct {
+	*requests.RpcRequest
+	UserState  string           `position:"Query" name:"UserState"`
+	Role       string           `position:"Query" name:"Role"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	SearchKey  string           `position:"Query" name:"SearchKey"`
+	Tid        requests.Integer `position:"Query" name:"Tid"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// ListUsersResponse is the response struct for api ListUsers
+type ListUsersResponse struct {
+	*responses.BaseResponse
+	RequestId    string   `json:"RequestId" xml:"RequestId"`
+	Success      bool     `json:"Success" xml:"Success"`
+	ErrorMessage string   `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string   `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount   int64    `json:"TotalCount" xml:"TotalCount"`
+	UserList     UserList `json:"UserList" xml:"UserList"`
+}
+
+// CreateListUsersRequest creates a request to invoke ListUsers API
+func CreateListUsersRequest() (request *ListUsersRequest) {
+	request = &ListUsersRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "ListUsers", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateListUsersResponse creates a response to parse from ListUsers response
+func CreateListUsersResponse() (response *ListUsersResponse) {
+	response = &ListUsersResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 126 - 0
services/dms_enterprise/register_instance.go

@@ -0,0 +1,126 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RegisterInstance invokes the dms_enterprise.RegisterInstance API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/registerinstance.html
+func (client *Client) RegisterInstance(request *RegisterInstanceRequest) (response *RegisterInstanceResponse, err error) {
+	response = CreateRegisterInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RegisterInstanceWithChan invokes the dms_enterprise.RegisterInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/registerinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RegisterInstanceWithChan(request *RegisterInstanceRequest) (<-chan *RegisterInstanceResponse, <-chan error) {
+	responseChan := make(chan *RegisterInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RegisterInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RegisterInstanceWithCallback invokes the dms_enterprise.RegisterInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/registerinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RegisterInstanceWithCallback(request *RegisterInstanceRequest, callback func(response *RegisterInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RegisterInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RegisterInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RegisterInstanceRequest is the request struct for api RegisterInstance
+type RegisterInstanceRequest struct {
+	*requests.RpcRequest
+	EcsRegion        string           `position:"Query" name:"EcsRegion"`
+	DdlOnline        requests.Integer `position:"Query" name:"DdlOnline"`
+	UseDsql          requests.Integer `position:"Query" name:"UseDsql"`
+	NetworkType      string           `position:"Query" name:"NetworkType"`
+	Tid              requests.Integer `position:"Query" name:"Tid"`
+	Sid              string           `position:"Query" name:"Sid"`
+	DataLinkName     string           `position:"Query" name:"DataLinkName"`
+	InstanceSource   string           `position:"Query" name:"InstanceSource"`
+	EnvType          string           `position:"Query" name:"EnvType"`
+	Host             string           `position:"Query" name:"Host"`
+	InstanceType     string           `position:"Query" name:"InstanceType"`
+	QueryTimeout     requests.Integer `position:"Query" name:"QueryTimeout"`
+	EcsInstanceId    string           `position:"Query" name:"EcsInstanceId"`
+	ExportTimeout    requests.Integer `position:"Query" name:"ExportTimeout"`
+	DatabasePassword string           `position:"Query" name:"DatabasePassword"`
+	InstanceAlias    string           `position:"Query" name:"InstanceAlias"`
+	DatabaseUser     string           `position:"Query" name:"DatabaseUser"`
+	Port             requests.Integer `position:"Query" name:"Port"`
+	VpcId            string           `position:"Query" name:"VpcId"`
+	DbaUid           requests.Integer `position:"Query" name:"DbaUid"`
+	SafeRule         string           `position:"Query" name:"SafeRule"`
+}
+
+// RegisterInstanceResponse is the response struct for api RegisterInstance
+type RegisterInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateRegisterInstanceRequest creates a request to invoke RegisterInstance API
+func CreateRegisterInstanceRequest() (request *RegisterInstanceRequest) {
+	request = &RegisterInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "RegisterInstance", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateRegisterInstanceResponse creates a response to parse from RegisterInstance response
+func CreateRegisterInstanceResponse() (response *RegisterInstanceResponse) {
+	response = &RegisterInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/dms_enterprise/register_user.go

@@ -0,0 +1,109 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RegisterUser invokes the dms_enterprise.RegisterUser API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/registeruser.html
+func (client *Client) RegisterUser(request *RegisterUserRequest) (response *RegisterUserResponse, err error) {
+	response = CreateRegisterUserResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RegisterUserWithChan invokes the dms_enterprise.RegisterUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/registeruser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RegisterUserWithChan(request *RegisterUserRequest) (<-chan *RegisterUserResponse, <-chan error) {
+	responseChan := make(chan *RegisterUserResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RegisterUser(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RegisterUserWithCallback invokes the dms_enterprise.RegisterUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/registeruser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RegisterUserWithCallback(request *RegisterUserRequest, callback func(response *RegisterUserResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RegisterUserResponse
+		var err error
+		defer close(result)
+		response, err = client.RegisterUser(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RegisterUserRequest is the request struct for api RegisterUser
+type RegisterUserRequest struct {
+	*requests.RpcRequest
+	RoleNames string           `position:"Query" name:"RoleNames"`
+	Uid       requests.Integer `position:"Query" name:"Uid"`
+	UserNick  string           `position:"Query" name:"UserNick"`
+	Tid       requests.Integer `position:"Query" name:"Tid"`
+}
+
+// RegisterUserResponse is the response struct for api RegisterUser
+type RegisterUserResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateRegisterUserRequest creates a request to invoke RegisterUser API
+func CreateRegisterUserRequest() (request *RegisterUserRequest) {
+	request = &RegisterUserRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "RegisterUser", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateRegisterUserResponse creates a response to parse from RegisterUser response
+func CreateRegisterUserResponse() (response *RegisterUserResponse) {
+	response = &RegisterUserResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/dms_enterprise/search_database.go

@@ -0,0 +1,115 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SearchDatabase invokes the dms_enterprise.SearchDatabase API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/searchdatabase.html
+func (client *Client) SearchDatabase(request *SearchDatabaseRequest) (response *SearchDatabaseResponse, err error) {
+	response = CreateSearchDatabaseResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchDatabaseWithChan invokes the dms_enterprise.SearchDatabase API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/searchdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchDatabaseWithChan(request *SearchDatabaseRequest) (<-chan *SearchDatabaseResponse, <-chan error) {
+	responseChan := make(chan *SearchDatabaseResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchDatabase(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchDatabaseWithCallback invokes the dms_enterprise.SearchDatabase API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/searchdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchDatabaseWithCallback(request *SearchDatabaseRequest, callback func(response *SearchDatabaseResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchDatabaseResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchDatabase(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchDatabaseRequest is the request struct for api SearchDatabase
+type SearchDatabaseRequest struct {
+	*requests.RpcRequest
+	SearchKey    string           `position:"Query" name:"SearchKey"`
+	SearchRange  string           `position:"Query" name:"SearchRange"`
+	Tid          requests.Integer `position:"Query" name:"Tid"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	SearchTarget string           `position:"Query" name:"SearchTarget"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	EnvType      string           `position:"Query" name:"EnvType"`
+	DbType       string           `position:"Query" name:"DbType"`
+}
+
+// SearchDatabaseResponse is the response struct for api SearchDatabase
+type SearchDatabaseResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	Success            bool               `json:"Success" xml:"Success"`
+	ErrorMessage       string             `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode          string             `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount         int64              `json:"TotalCount" xml:"TotalCount"`
+	SearchDatabaseList SearchDatabaseList `json:"SearchDatabaseList" xml:"SearchDatabaseList"`
+}
+
+// CreateSearchDatabaseRequest creates a request to invoke SearchDatabase API
+func CreateSearchDatabaseRequest() (request *SearchDatabaseRequest) {
+	request = &SearchDatabaseRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "SearchDatabase", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateSearchDatabaseResponse creates a response to parse from SearchDatabase response
+func CreateSearchDatabaseResponse() (response *SearchDatabaseResponse) {
+	response = &SearchDatabaseResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/dms_enterprise/search_table.go

@@ -0,0 +1,113 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SearchTable invokes the dms_enterprise.SearchTable API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/searchtable.html
+func (client *Client) SearchTable(request *SearchTableRequest) (response *SearchTableResponse, err error) {
+	response = CreateSearchTableResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchTableWithChan invokes the dms_enterprise.SearchTable API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/searchtable.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTableWithChan(request *SearchTableRequest) (<-chan *SearchTableResponse, <-chan error) {
+	responseChan := make(chan *SearchTableResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchTable(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchTableWithCallback invokes the dms_enterprise.SearchTable API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/searchtable.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTableWithCallback(request *SearchTableRequest, callback func(response *SearchTableResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchTableResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchTable(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchTableRequest is the request struct for api SearchTable
+type SearchTableRequest struct {
+	*requests.RpcRequest
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	EnvType     string           `position:"Query" name:"EnvType"`
+	SearchKey   string           `position:"Query" name:"SearchKey"`
+	SearchRange string           `position:"Query" name:"SearchRange"`
+	Tid         requests.Integer `position:"Query" name:"Tid"`
+	PageNumber  requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// SearchTableResponse is the response struct for api SearchTable
+type SearchTableResponse struct {
+	*responses.BaseResponse
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	Success         bool            `json:"Success" xml:"Success"`
+	ErrorMessage    string          `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode       string          `json:"ErrorCode" xml:"ErrorCode"`
+	TotalCount      int64           `json:"TotalCount" xml:"TotalCount"`
+	SearchTableList SearchTableList `json:"SearchTableList" xml:"SearchTableList"`
+}
+
+// CreateSearchTableRequest creates a request to invoke SearchTable API
+func CreateSearchTableRequest() (request *SearchTableRequest) {
+	request = &SearchTableRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "SearchTable", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateSearchTableResponse creates a response to parse from SearchTable response
+func CreateSearchTableResponse() (response *SearchTableResponse) {
+	response = &SearchTableResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 33 - 0
services/dms_enterprise/struct_column.go

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

+ 21 - 0
services/dms_enterprise/struct_column_list_in_list_columns.go

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

+ 21 - 0
services/dms_enterprise/struct_column_list_in_list_indexes.go

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

+ 36 - 0
services/dms_enterprise/struct_database.go

@@ -0,0 +1,36 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Database is a nested struct in dms_enterprise response
+type Database struct {
+	Port          int                        `json:"Port" xml:"Port"`
+	DbaName       string                     `json:"DbaName" xml:"DbaName"`
+	SchemaName    string                     `json:"SchemaName" xml:"SchemaName"`
+	Sid           string                     `json:"Sid" xml:"Sid"`
+	DbType        string                     `json:"DbType" xml:"DbType"`
+	DbaId         string                     `json:"DbaId" xml:"DbaId"`
+	DatabaseId    string                     `json:"DatabaseId" xml:"DatabaseId"`
+	Host          string                     `json:"Host" xml:"Host"`
+	State         string                     `json:"State" xml:"State"`
+	CatalogName   string                     `json:"CatalogName" xml:"CatalogName"`
+	EnvType       string                     `json:"EnvType" xml:"EnvType"`
+	Encoding      string                     `json:"Encoding" xml:"Encoding"`
+	SearchName    string                     `json:"SearchName" xml:"SearchName"`
+	InstanceId    string                     `json:"InstanceId" xml:"InstanceId"`
+	OwnerNameList OwnerNameListInGetDatabase `json:"OwnerNameList" xml:"OwnerNameList"`
+	OwnerIdList   OwnerIdListInGetDatabase   `json:"OwnerIdList" xml:"OwnerIdList"`
+}

+ 36 - 0
services/dms_enterprise/struct_database_in_list_databases.go

@@ -0,0 +1,36 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// DatabaseInListDatabases is a nested struct in dms_enterprise response
+type DatabaseInListDatabases struct {
+	InstanceId    string                       `json:"InstanceId" xml:"InstanceId"`
+	DatabaseId    string                       `json:"DatabaseId" xml:"DatabaseId"`
+	EnvType       string                       `json:"EnvType" xml:"EnvType"`
+	SchemaName    string                       `json:"SchemaName" xml:"SchemaName"`
+	CatalogName   int                          `json:"CatalogName" xml:"CatalogName"`
+	Encoding      string                       `json:"Encoding" xml:"Encoding"`
+	SearchName    string                       `json:"SearchName" xml:"SearchName"`
+	State         string                       `json:"State" xml:"State"`
+	DbType        string                       `json:"DbType" xml:"DbType"`
+	Host          string                       `json:"Host" xml:"Host"`
+	Port          int                          `json:"Port" xml:"Port"`
+	Sid           string                       `json:"Sid" xml:"Sid"`
+	DbaName       string                       `json:"DbaName" xml:"DbaName"`
+	DbaId         string                       `json:"DbaId" xml:"DbaId"`
+	OwnerIdList   OwnerIdListInListDatabases   `json:"OwnerIdList" xml:"OwnerIdList"`
+	OwnerNameList OwnerNameListInListDatabases `json:"OwnerNameList" xml:"OwnerNameList"`
+}

+ 21 - 0
services/dms_enterprise/struct_database_list.go

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

+ 25 - 0
services/dms_enterprise/struct_index.go

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

+ 21 - 0
services/dms_enterprise/struct_index_list.go

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

+ 42 - 0
services/dms_enterprise/struct_instance.go

@@ -0,0 +1,42 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Instance is a nested struct in dms_enterprise response
+type Instance struct {
+	DataLinkName     string `json:"DataLinkName" xml:"DataLinkName"`
+	Port             int    `json:"Port" xml:"Port"`
+	DatabasePassword string `json:"DatabasePassword" xml:"DatabasePassword"`
+	DbaNickName      string `json:"DbaNickName" xml:"DbaNickName"`
+	DdlOnline        int    `json:"DdlOnline" xml:"DdlOnline"`
+	Sid              string `json:"Sid" xml:"Sid"`
+	InstanceType     string `json:"InstanceType" xml:"InstanceType"`
+	QueryTimeout     int    `json:"QueryTimeout" xml:"QueryTimeout"`
+	DbaId            string `json:"DbaId" xml:"DbaId"`
+	EcsInstanceId    string `json:"EcsInstanceId" xml:"EcsInstanceId"`
+	InstanceSource   string `json:"InstanceSource" xml:"InstanceSource"`
+	Host             string `json:"Host" xml:"Host"`
+	SafeRuleId       string `json:"SafeRuleId" xml:"SafeRuleId"`
+	State            string `json:"State" xml:"State"`
+	EnvType          string `json:"EnvType" xml:"EnvType"`
+	InstanceId       string `json:"InstanceId" xml:"InstanceId"`
+	UseDsql          int    `json:"UseDsql" xml:"UseDsql"`
+	InstanceAlias    string `json:"InstanceAlias" xml:"InstanceAlias"`
+	ExportTimeout    int    `json:"ExportTimeout" xml:"ExportTimeout"`
+	VpcId            string `json:"VpcId" xml:"VpcId"`
+	DatabaseUser     string `json:"DatabaseUser" xml:"DatabaseUser"`
+	EcsRegion        string `json:"EcsRegion" xml:"EcsRegion"`
+}

+ 21 - 0
services/dms_enterprise/struct_instance_list.go

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

+ 28 - 0
services/dms_enterprise/struct_logic_database.go

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

+ 21 - 0
services/dms_enterprise/struct_logic_database_list.go

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

+ 28 - 0
services/dms_enterprise/struct_logic_table.go

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

+ 21 - 0
services/dms_enterprise/struct_logic_table_list.go

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

+ 27 - 0
services/dms_enterprise/struct_op_log_detail.go

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

+ 21 - 0
services/dms_enterprise/struct_op_log_details.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_get_database.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_get_logic_database.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_list_databases.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_list_logic_databases.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_list_logic_tables.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_list_tables.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_search_database.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_id_list_in_search_table.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_get_database.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_get_logic_database.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_list_databases.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_list_logic_databases.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_list_logic_tables.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_list_tables.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_search_database.go

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

+ 21 - 0
services/dms_enterprise/struct_owner_name_list_in_search_table.go

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

+ 21 - 0
services/dms_enterprise/struct_role_id_list.go

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

+ 21 - 0
services/dms_enterprise/struct_role_name_list.go

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

+ 35 - 0
services/dms_enterprise/struct_search_database.go

@@ -0,0 +1,35 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SearchDatabase is a nested struct in dms_enterprise response
+type SearchDatabase struct {
+	DatabaseId    string                        `json:"DatabaseId" xml:"DatabaseId"`
+	Logic         bool                          `json:"Logic" xml:"Logic"`
+	EnvType       string                        `json:"EnvType" xml:"EnvType"`
+	SchemaName    string                        `json:"SchemaName" xml:"SchemaName"`
+	SearchName    string                        `json:"SearchName" xml:"SearchName"`
+	DbType        string                        `json:"DbType" xml:"DbType"`
+	Host          string                        `json:"Host" xml:"Host"`
+	Port          int                           `json:"Port" xml:"Port"`
+	Sid           string                        `json:"Sid" xml:"Sid"`
+	DbaId         string                        `json:"DbaId" xml:"DbaId"`
+	Encoding      string                        `json:"Encoding" xml:"Encoding"`
+	Alias         string                        `json:"Alias" xml:"Alias"`
+	DatalinkName  string                        `json:"DatalinkName" xml:"DatalinkName"`
+	OwnerIdList   OwnerIdListInSearchDatabase   `json:"OwnerIdList" xml:"OwnerIdList"`
+	OwnerNameList OwnerNameListInSearchDatabase `json:"OwnerNameList" xml:"OwnerNameList"`
+}

+ 21 - 0
services/dms_enterprise/struct_search_database_list.go

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

+ 31 - 0
services/dms_enterprise/struct_search_table.go

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

+ 21 - 0
services/dms_enterprise/struct_search_table_list.go

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

+ 31 - 0
services/dms_enterprise/struct_table.go

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

+ 21 - 0
services/dms_enterprise/struct_table_list.go

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

+ 28 - 0
services/dms_enterprise/struct_user.go

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

+ 21 - 0
services/dms_enterprise/struct_user_list.go

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

+ 126 - 0
services/dms_enterprise/update_instance.go

@@ -0,0 +1,126 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateInstance invokes the dms_enterprise.UpdateInstance API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/updateinstance.html
+func (client *Client) UpdateInstance(request *UpdateInstanceRequest) (response *UpdateInstanceResponse, err error) {
+	response = CreateUpdateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateInstanceWithChan invokes the dms_enterprise.UpdateInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/updateinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateInstanceWithChan(request *UpdateInstanceRequest) (<-chan *UpdateInstanceResponse, <-chan error) {
+	responseChan := make(chan *UpdateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateInstanceWithCallback invokes the dms_enterprise.UpdateInstance API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/updateinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateInstanceWithCallback(request *UpdateInstanceRequest, callback func(response *UpdateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateInstanceRequest is the request struct for api UpdateInstance
+type UpdateInstanceRequest struct {
+	*requests.RpcRequest
+	SafeRuleId       string           `position:"Query" name:"SafeRuleId"`
+	EcsRegion        string           `position:"Query" name:"EcsRegion"`
+	DdlOnline        requests.Integer `position:"Query" name:"DdlOnline"`
+	UseDsql          requests.Integer `position:"Query" name:"UseDsql"`
+	Tid              requests.Integer `position:"Query" name:"Tid"`
+	Sid              string           `position:"Query" name:"Sid"`
+	DbaId            string           `position:"Query" name:"DbaId"`
+	DataLinkName     string           `position:"Query" name:"DataLinkName"`
+	InstanceSource   string           `position:"Query" name:"InstanceSource"`
+	EnvType          string           `position:"Query" name:"EnvType"`
+	Host             string           `position:"Query" name:"Host"`
+	InstanceType     string           `position:"Query" name:"InstanceType"`
+	QueryTimeout     requests.Integer `position:"Query" name:"QueryTimeout"`
+	EcsInstanceId    string           `position:"Query" name:"EcsInstanceId"`
+	ExportTimeout    requests.Integer `position:"Query" name:"ExportTimeout"`
+	DatabasePassword string           `position:"Query" name:"DatabasePassword"`
+	InstanceAlias    string           `position:"Query" name:"InstanceAlias"`
+	DatabaseUser     string           `position:"Query" name:"DatabaseUser"`
+	InstanceId       string           `position:"Query" name:"InstanceId"`
+	Port             requests.Integer `position:"Query" name:"Port"`
+	VpcId            string           `position:"Query" name:"VpcId"`
+}
+
+// UpdateInstanceResponse is the response struct for api UpdateInstance
+type UpdateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateUpdateInstanceRequest creates a request to invoke UpdateInstance API
+func CreateUpdateInstanceRequest() (request *UpdateInstanceRequest) {
+	request = &UpdateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "UpdateInstance", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateUpdateInstanceResponse creates a response to parse from UpdateInstance response
+func CreateUpdateInstanceResponse() (response *UpdateInstanceResponse) {
+	response = &UpdateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/dms_enterprise/update_user.go

@@ -0,0 +1,110 @@
+package dms_enterprise
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// UpdateUser invokes the dms_enterprise.UpdateUser API synchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/updateuser.html
+func (client *Client) UpdateUser(request *UpdateUserRequest) (response *UpdateUserResponse, err error) {
+	response = CreateUpdateUserResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateUserWithChan invokes the dms_enterprise.UpdateUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/updateuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateUserWithChan(request *UpdateUserRequest) (<-chan *UpdateUserResponse, <-chan error) {
+	responseChan := make(chan *UpdateUserResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateUser(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateUserWithCallback invokes the dms_enterprise.UpdateUser API asynchronously
+// api document: https://help.aliyun.com/api/dms-enterprise/updateuser.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateUserWithCallback(request *UpdateUserRequest, callback func(response *UpdateUserResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateUserResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateUser(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateUserRequest is the request struct for api UpdateUser
+type UpdateUserRequest struct {
+	*requests.RpcRequest
+	RoleNames string           `position:"Query" name:"RoleNames"`
+	Uid       requests.Integer `position:"Query" name:"Uid"`
+	UserNick  string           `position:"Query" name:"UserNick"`
+	Mobile    string           `position:"Query" name:"Mobile"`
+	Tid       requests.Integer `position:"Query" name:"Tid"`
+}
+
+// UpdateUserResponse is the response struct for api UpdateUser
+type UpdateUserResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Success      bool   `json:"Success" xml:"Success"`
+	ErrorMessage string `json:"ErrorMessage" xml:"ErrorMessage"`
+	ErrorCode    string `json:"ErrorCode" xml:"ErrorCode"`
+}
+
+// CreateUpdateUserRequest creates a request to invoke UpdateUser API
+func CreateUpdateUserRequest() (request *UpdateUserRequest) {
+	request = &UpdateUserRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("dms-enterprise", "2018-11-01", "UpdateUser", "dmsenterprise", "openAPI")
+	return
+}
+
+// CreateUpdateUserResponse creates a response to parse from UpdateUser response
+func CreateUpdateUserResponse() (response *UpdateUserResponse) {
+	response = &UpdateUserResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}