Bläddra i källkod

PETADATA SDK Auto Released By zhigang.xzg,Version:1.43.15

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 år sedan
förälder
incheckning
2eec4527e6
80 ändrade filer med 5194 tillägg och 0 borttagningar
  1. 4 0
      ChangeLog.txt
  2. 110 0
      services/petadata/allocate_instance_public_connection.go
  3. 81 0
      services/petadata/client.go
  4. 117 0
      services/petadata/create_account.go
  5. 113 0
      services/petadata/create_database.go
  6. 110 0
      services/petadata/create_database_backup.go
  7. 126 0
      services/petadata/create_instance.go
  8. 109 0
      services/petadata/delete_account.go
  9. 110 0
      services/petadata/delete_database.go
  10. 109 0
      services/petadata/delete_instance.go
  11. 110 0
      services/petadata/describe_accounts.go
  12. 115 0
      services/petadata/describe_backup_policy.go
  13. 123 0
      services/petadata/describe_database_backup.go
  14. 112 0
      services/petadata/describe_database_partitions.go
  15. 115 0
      services/petadata/describe_database_performance.go
  16. 113 0
      services/petadata/describe_database_resource_usage.go
  17. 111 0
      services/petadata/describe_databases.go
  18. 115 0
      services/petadata/describe_instance_info.go
  19. 114 0
      services/petadata/describe_instance_performance.go
  20. 112 0
      services/petadata/describe_instance_resource_usage.go
  21. 116 0
      services/petadata/describe_instances.go
  22. 111 0
      services/petadata/describe_monitor_items.go
  23. 111 0
      services/petadata/describe_price.go
  24. 108 0
      services/petadata/describe_regions.go
  25. 111 0
      services/petadata/describe_security_i_ps.go
  26. 114 0
      services/petadata/describe_task_status.go
  27. 121 0
      services/petadata/describe_tasks.go
  28. 111 0
      services/petadata/describe_user_info.go
  29. 111 0
      services/petadata/grant_account_privilege.go
  30. 110 0
      services/petadata/modify_account_description.go
  31. 111 0
      services/petadata/modify_account_password.go
  32. 113 0
      services/petadata/modify_backup_policy.go
  33. 109 0
      services/petadata/modify_instance_name.go
  34. 114 0
      services/petadata/modify_security_i_ps.go
  35. 109 0
      services/petadata/release_instance_public_connection.go
  36. 110 0
      services/petadata/reset_account_password.go
  37. 117 0
      services/petadata/restore_database.go
  38. 110 0
      services/petadata/revoke_account_privilege.go
  39. 25 0
      services/petadata/struct_account.go
  40. 21 0
      services/petadata/struct_account_list.go
  41. 22 0
      services/petadata/struct_already_has_resource_num.go
  42. 29 0
      services/petadata/struct_backup.go
  43. 21 0
      services/petadata/struct_backup_items.go
  44. 30 0
      services/petadata/struct_database.go
  45. 23 0
      services/petadata/struct_database_privilege.go
  46. 21 0
      services/petadata/struct_database_privileges.go
  47. 21 0
      services/petadata/struct_databases_in_describe_databases.go
  48. 21 0
      services/petadata/struct_databases_in_describe_instance_info.go
  49. 21 0
      services/petadata/struct_databases_in_describe_instances.go
  50. 21 0
      services/petadata/struct_group_value.go
  51. 33 0
      services/petadata/struct_instance.go
  52. 21 0
      services/petadata/struct_instances.go
  53. 28 0
      services/petadata/struct_monitor_data.go
  54. 21 0
      services/petadata/struct_monitor_datas_in_describe_database_performance.go
  55. 21 0
      services/petadata/struct_monitor_datas_in_describe_database_resource_usage.go
  56. 21 0
      services/petadata/struct_monitor_datas_in_describe_instance_performance.go
  57. 21 0
      services/petadata/struct_monitor_datas_in_describe_instance_resource_usage.go
  58. 26 0
      services/petadata/struct_monitor_item.go
  59. 23 0
      services/petadata/struct_monitor_item_model.go
  60. 21 0
      services/petadata/struct_monitor_items.go
  61. 26 0
      services/petadata/struct_network_info_item.go
  62. 21 0
      services/petadata/struct_network_info_items.go
  63. 24 0
      services/petadata/struct_order.go
  64. 23 0
      services/petadata/struct_partition.go
  65. 21 0
      services/petadata/struct_partitions.go
  66. 22 0
      services/petadata/struct_performance_value.go
  67. 21 0
      services/petadata/struct_performance_values_in_describe_database_performance.go
  68. 21 0
      services/petadata/struct_performance_values_in_describe_instance_performance.go
  69. 23 0
      services/petadata/struct_region.go
  70. 21 0
      services/petadata/struct_regions.go
  71. 23 0
      services/petadata/struct_rule.go
  72. 21 0
      services/petadata/struct_rule_ids.go
  73. 21 0
      services/petadata/struct_rules.go
  74. 21 0
      services/petadata/struct_security_i_ps.go
  75. 23 0
      services/petadata/struct_security_ip_group.go
  76. 29 0
      services/petadata/struct_task.go
  77. 21 0
      services/petadata/struct_tasks.go
  78. 22 0
      services/petadata/struct_zone.go
  79. 21 0
      services/petadata/struct_zones.go
  80. 111 0
      services/petadata/switch_instance_net_type.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2018-12-12 Version: 1.43.15
+1, Add interface GrantAccountPrivilege;
+2, Add interface RevokeAccountPrivilege;
+
 2018-12-12 Version: 1.43.14
 1, Sync CDN API.
 

+ 110 - 0
services/petadata/allocate_instance_public_connection.go

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

+ 81 - 0
services/petadata/client.go

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

+ 117 - 0
services/petadata/create_account.go

@@ -0,0 +1,117 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateAccount invokes the petadata.CreateAccount API synchronously
+// api document: https://help.aliyun.com/api/petadata/createaccount.html
+func (client *Client) CreateAccount(request *CreateAccountRequest) (response *CreateAccountResponse, err error) {
+	response = CreateCreateAccountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateAccountWithChan invokes the petadata.CreateAccount API asynchronously
+// api document: https://help.aliyun.com/api/petadata/createaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAccountWithChan(request *CreateAccountRequest) (<-chan *CreateAccountResponse, <-chan error) {
+	responseChan := make(chan *CreateAccountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAccount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateAccountWithCallback invokes the petadata.CreateAccount API asynchronously
+// api document: https://help.aliyun.com/api/petadata/createaccount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAccountWithCallback(request *CreateAccountRequest, callback func(response *CreateAccountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAccountResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAccount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateAccountRequest is the request struct for api CreateAccount
+type CreateAccountRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	AccountType          string           `position:"Query" name:"AccountType"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AccountVersion       string           `position:"Query" name:"AccountVersion"`
+	AccountDescription   string           `position:"Query" name:"AccountDescription"`
+	AccountPrivilege     string           `position:"Query" name:"AccountPrivilege"`
+	AccountPassword      string           `position:"Query" name:"AccountPassword"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	DBInfo               string           `position:"Query" name:"DBInfo"`
+}
+
+// CreateAccountResponse is the response struct for api CreateAccount
+type CreateAccountResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateAccountRequest creates a request to invoke CreateAccount API
+func CreateCreateAccountRequest() (request *CreateAccountRequest) {
+	request = &CreateAccountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "CreateAccount", "petadata", "openAPI")
+	return
+}
+
+// CreateCreateAccountResponse creates a response to parse from CreateAccount response
+func CreateCreateAccountResponse() (response *CreateAccountResponse) {
+	response = &CreateAccountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/petadata/create_database.go

@@ -0,0 +1,113 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateDatabase invokes the petadata.CreateDatabase API synchronously
+// api document: https://help.aliyun.com/api/petadata/createdatabase.html
+func (client *Client) CreateDatabase(request *CreateDatabaseRequest) (response *CreateDatabaseResponse, err error) {
+	response = CreateCreateDatabaseResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateDatabaseWithChan invokes the petadata.CreateDatabase API asynchronously
+// api document: https://help.aliyun.com/api/petadata/createdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDatabaseWithChan(request *CreateDatabaseRequest) (<-chan *CreateDatabaseResponse, <-chan error) {
+	responseChan := make(chan *CreateDatabaseResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateDatabase(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateDatabaseWithCallback invokes the petadata.CreateDatabase API asynchronously
+// api document: https://help.aliyun.com/api/petadata/createdatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDatabaseWithCallback(request *CreateDatabaseRequest, callback func(response *CreateDatabaseResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateDatabaseResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateDatabase(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateDatabaseRequest is the request struct for api CreateDatabase
+type CreateDatabaseRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	NodeSpec             string           `position:"Query" name:"NodeSpec"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Token                string           `position:"Query" name:"Token"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	NodeNumber           requests.Integer `position:"Query" name:"NodeNumber"`
+}
+
+// CreateDatabaseResponse is the response struct for api CreateDatabase
+type CreateDatabaseResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+}
+
+// CreateCreateDatabaseRequest creates a request to invoke CreateDatabase API
+func CreateCreateDatabaseRequest() (request *CreateDatabaseRequest) {
+	request = &CreateDatabaseRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "CreateDatabase", "petadata", "openAPI")
+	return
+}
+
+// CreateCreateDatabaseResponse creates a response to parse from CreateDatabase response
+func CreateCreateDatabaseResponse() (response *CreateDatabaseResponse) {
+	response = &CreateDatabaseResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/petadata/create_database_backup.go

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

+ 126 - 0
services/petadata/create_instance.go

@@ -0,0 +1,126 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateInstance invokes the petadata.CreateInstance API synchronously
+// api document: https://help.aliyun.com/api/petadata/createinstance.html
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateInstanceWithChan invokes the petadata.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/petadata/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateInstanceWithCallback invokes the petadata.CreateInstance API asynchronously
+// api document: https://help.aliyun.com/api/petadata/createinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateInstanceRequest is the request struct for api CreateInstance
+type CreateInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	NodeSpec             string           `position:"Query" name:"NodeSpec"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	NetworkType          string           `position:"Query" name:"NetworkType"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityIPList       string           `position:"Query" name:"SecurityIPList"`
+	VSwitchId            string           `position:"Query" name:"VSwitchId"`
+	AccountPassword      string           `position:"Query" name:"AccountPassword"`
+	InstanceName         string           `position:"Query" name:"InstanceName"`
+	DBName               string           `position:"Query" name:"DBName"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	NodeNumber           requests.Integer `position:"Query" name:"NodeNumber"`
+	VpcId                string           `position:"Query" name:"VpcId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+	ChargeType           string           `position:"Query" name:"ChargeType"`
+}
+
+// CreateInstanceResponse is the response struct for api CreateInstance
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	InstanceId       string `json:"InstanceId" xml:"InstanceId"`
+	OrderId          string `json:"OrderId" xml:"OrderId"`
+	ConnectionString string `json:"ConnectionString" xml:"ConnectionString"`
+	Port             string `json:"Port" xml:"Port"`
+	InstanceName     string `json:"InstanceName" xml:"InstanceName"`
+	EndTime          string `json:"EndTime" xml:"EndTime"`
+}
+
+// CreateCreateInstanceRequest creates a request to invoke CreateInstance API
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "CreateInstance", "petadata", "openAPI")
+	return
+}
+
+// CreateCreateInstanceResponse creates a response to parse from CreateInstance response
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/petadata/delete_account.go

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

+ 110 - 0
services/petadata/delete_database.go

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

+ 109 - 0
services/petadata/delete_instance.go

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

+ 110 - 0
services/petadata/describe_accounts.go

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

+ 115 - 0
services/petadata/describe_backup_policy.go

@@ -0,0 +1,115 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeBackupPolicy invokes the petadata.DescribeBackupPolicy API synchronously
+// api document: https://help.aliyun.com/api/petadata/describebackuppolicy.html
+func (client *Client) DescribeBackupPolicy(request *DescribeBackupPolicyRequest) (response *DescribeBackupPolicyResponse, err error) {
+	response = CreateDescribeBackupPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBackupPolicyWithChan invokes the petadata.DescribeBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describebackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBackupPolicyWithChan(request *DescribeBackupPolicyRequest) (<-chan *DescribeBackupPolicyResponse, <-chan error) {
+	responseChan := make(chan *DescribeBackupPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeBackupPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeBackupPolicyWithCallback invokes the petadata.DescribeBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describebackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBackupPolicyWithCallback(request *DescribeBackupPolicyRequest, callback func(response *DescribeBackupPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeBackupPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeBackupPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeBackupPolicyRequest is the request struct for api DescribeBackupPolicy
+type DescribeBackupPolicyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeBackupPolicyResponse is the response struct for api DescribeBackupPolicy
+type DescribeBackupPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId             string `json:"RequestId" xml:"RequestId"`
+	InstanceId            string `json:"InstanceId" xml:"InstanceId"`
+	DBName                string `json:"DBName" xml:"DBName"`
+	PreferredBackupPeriod string `json:"PreferredBackupPeriod" xml:"PreferredBackupPeriod"`
+	PreferredBackupTime   string `json:"PreferredBackupTime" xml:"PreferredBackupTime"`
+	BackupRetentionPeriod string `json:"BackupRetentionPeriod" xml:"BackupRetentionPeriod"`
+	EnableBinlogBackup    bool   `json:"EnableBinlogBackup" xml:"EnableBinlogBackup"`
+}
+
+// CreateDescribeBackupPolicyRequest creates a request to invoke DescribeBackupPolicy API
+func CreateDescribeBackupPolicyRequest() (request *DescribeBackupPolicyRequest) {
+	request = &DescribeBackupPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeBackupPolicy", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeBackupPolicyResponse creates a response to parse from DescribeBackupPolicy response
+func CreateDescribeBackupPolicyResponse() (response *DescribeBackupPolicyResponse) {
+	response = &DescribeBackupPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 123 - 0
services/petadata/describe_database_backup.go

@@ -0,0 +1,123 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDatabaseBackup invokes the petadata.DescribeDatabaseBackup API synchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabasebackup.html
+func (client *Client) DescribeDatabaseBackup(request *DescribeDatabaseBackupRequest) (response *DescribeDatabaseBackupResponse, err error) {
+	response = CreateDescribeDatabaseBackupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDatabaseBackupWithChan invokes the petadata.DescribeDatabaseBackup API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabasebackup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabaseBackupWithChan(request *DescribeDatabaseBackupRequest) (<-chan *DescribeDatabaseBackupResponse, <-chan error) {
+	responseChan := make(chan *DescribeDatabaseBackupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDatabaseBackup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDatabaseBackupWithCallback invokes the petadata.DescribeDatabaseBackup API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabasebackup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabaseBackupWithCallback(request *DescribeDatabaseBackupRequest, callback func(response *DescribeDatabaseBackupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDatabaseBackupResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDatabaseBackup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDatabaseBackupRequest is the request struct for api DescribeDatabaseBackup
+type DescribeDatabaseBackupRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	BackupId             string           `position:"Query" name:"BackupId"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           string           `position:"Query" name:"PageNumber"`
+	BackupStatus         string           `position:"Query" name:"BackupStatus"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageSize             string           `position:"Query" name:"PageSize"`
+	BackupMode           string           `position:"Query" name:"BackupMode"`
+}
+
+// DescribeDatabaseBackupResponse is the response struct for api DescribeDatabaseBackup
+type DescribeDatabaseBackupResponse struct {
+	*responses.BaseResponse
+	RequestId        string      `json:"RequestId" xml:"RequestId"`
+	InstanceId       string      `json:"InstanceId" xml:"InstanceId"`
+	DBName           string      `json:"DBName" xml:"DBName"`
+	PageNumber       int         `json:"PageNumber" xml:"PageNumber"`
+	PageRecordCount  int         `json:"PageRecordCount" xml:"PageRecordCount"`
+	TotalRecordCount int         `json:"TotalRecordCount" xml:"TotalRecordCount"`
+	BackupTotalSize  int         `json:"BackupTotalSize" xml:"BackupTotalSize"`
+	BackupItems      BackupItems `json:"BackupItems" xml:"BackupItems"`
+}
+
+// CreateDescribeDatabaseBackupRequest creates a request to invoke DescribeDatabaseBackup API
+func CreateDescribeDatabaseBackupRequest() (request *DescribeDatabaseBackupRequest) {
+	request = &DescribeDatabaseBackupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeDatabaseBackup", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeDatabaseBackupResponse creates a response to parse from DescribeDatabaseBackup response
+func CreateDescribeDatabaseBackupResponse() (response *DescribeDatabaseBackupResponse) {
+	response = &DescribeDatabaseBackupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/petadata/describe_database_partitions.go

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

+ 115 - 0
services/petadata/describe_database_performance.go

@@ -0,0 +1,115 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDatabasePerformance invokes the petadata.DescribeDatabasePerformance API synchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabaseperformance.html
+func (client *Client) DescribeDatabasePerformance(request *DescribeDatabasePerformanceRequest) (response *DescribeDatabasePerformanceResponse, err error) {
+	response = CreateDescribeDatabasePerformanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDatabasePerformanceWithChan invokes the petadata.DescribeDatabasePerformance API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabaseperformance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabasePerformanceWithChan(request *DescribeDatabasePerformanceRequest) (<-chan *DescribeDatabasePerformanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeDatabasePerformanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDatabasePerformance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDatabasePerformanceWithCallback invokes the petadata.DescribeDatabasePerformance API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabaseperformance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabasePerformanceWithCallback(request *DescribeDatabasePerformanceRequest, callback func(response *DescribeDatabasePerformanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDatabasePerformanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDatabasePerformance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDatabasePerformanceRequest is the request struct for api DescribeDatabasePerformance
+type DescribeDatabasePerformanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	KeyList              string           `position:"Query" name:"KeyList"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	MonitorGroup         string           `position:"Query" name:"MonitorGroup"`
+	Interval             string           `position:"Query" name:"Interval"`
+}
+
+// DescribeDatabasePerformanceResponse is the response struct for api DescribeDatabasePerformance
+type DescribeDatabasePerformanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string                                    `json:"RequestId" xml:"RequestId"`
+	MonitorDatas MonitorDatasInDescribeDatabasePerformance `json:"MonitorDatas" xml:"MonitorDatas"`
+}
+
+// CreateDescribeDatabasePerformanceRequest creates a request to invoke DescribeDatabasePerformance API
+func CreateDescribeDatabasePerformanceRequest() (request *DescribeDatabasePerformanceRequest) {
+	request = &DescribeDatabasePerformanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeDatabasePerformance", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeDatabasePerformanceResponse creates a response to parse from DescribeDatabasePerformance response
+func CreateDescribeDatabasePerformanceResponse() (response *DescribeDatabasePerformanceResponse) {
+	response = &DescribeDatabasePerformanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/petadata/describe_database_resource_usage.go

@@ -0,0 +1,113 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDatabaseResourceUsage invokes the petadata.DescribeDatabaseResourceUsage API synchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabaseresourceusage.html
+func (client *Client) DescribeDatabaseResourceUsage(request *DescribeDatabaseResourceUsageRequest) (response *DescribeDatabaseResourceUsageResponse, err error) {
+	response = CreateDescribeDatabaseResourceUsageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDatabaseResourceUsageWithChan invokes the petadata.DescribeDatabaseResourceUsage API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabaseresourceusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabaseResourceUsageWithChan(request *DescribeDatabaseResourceUsageRequest) (<-chan *DescribeDatabaseResourceUsageResponse, <-chan error) {
+	responseChan := make(chan *DescribeDatabaseResourceUsageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDatabaseResourceUsage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDatabaseResourceUsageWithCallback invokes the petadata.DescribeDatabaseResourceUsage API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabaseresourceusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabaseResourceUsageWithCallback(request *DescribeDatabaseResourceUsageRequest, callback func(response *DescribeDatabaseResourceUsageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDatabaseResourceUsageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDatabaseResourceUsage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDatabaseResourceUsageRequest is the request struct for api DescribeDatabaseResourceUsage
+type DescribeDatabaseResourceUsageRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	Interval             string           `position:"Query" name:"Interval"`
+}
+
+// DescribeDatabaseResourceUsageResponse is the response struct for api DescribeDatabaseResourceUsage
+type DescribeDatabaseResourceUsageResponse struct {
+	*responses.BaseResponse
+	RequestId    string                                      `json:"RequestId" xml:"RequestId"`
+	MonitorDatas MonitorDatasInDescribeDatabaseResourceUsage `json:"MonitorDatas" xml:"MonitorDatas"`
+}
+
+// CreateDescribeDatabaseResourceUsageRequest creates a request to invoke DescribeDatabaseResourceUsage API
+func CreateDescribeDatabaseResourceUsageRequest() (request *DescribeDatabaseResourceUsageRequest) {
+	request = &DescribeDatabaseResourceUsageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeDatabaseResourceUsage", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeDatabaseResourceUsageResponse creates a response to parse from DescribeDatabaseResourceUsage response
+func CreateDescribeDatabaseResourceUsageResponse() (response *DescribeDatabaseResourceUsageResponse) {
+	response = &DescribeDatabaseResourceUsageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/petadata/describe_databases.go

@@ -0,0 +1,111 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDatabases invokes the petadata.DescribeDatabases API synchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabases.html
+func (client *Client) DescribeDatabases(request *DescribeDatabasesRequest) (response *DescribeDatabasesResponse, err error) {
+	response = CreateDescribeDatabasesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDatabasesWithChan invokes the petadata.DescribeDatabases API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabases.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabasesWithChan(request *DescribeDatabasesRequest) (<-chan *DescribeDatabasesResponse, <-chan error) {
+	responseChan := make(chan *DescribeDatabasesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDatabases(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDatabasesWithCallback invokes the petadata.DescribeDatabases API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describedatabases.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDatabasesWithCallback(request *DescribeDatabasesRequest, callback func(response *DescribeDatabasesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDatabasesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDatabases(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDatabasesRequest is the request struct for api DescribeDatabases
+type DescribeDatabasesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeDatabasesResponse is the response struct for api DescribeDatabases
+type DescribeDatabasesResponse struct {
+	*responses.BaseResponse
+	RequestId  string                       `json:"RequestId" xml:"RequestId"`
+	InstanceId string                       `json:"InstanceId" xml:"InstanceId"`
+	Databases  DatabasesInDescribeDatabases `json:"Databases" xml:"Databases"`
+}
+
+// CreateDescribeDatabasesRequest creates a request to invoke DescribeDatabases API
+func CreateDescribeDatabasesRequest() (request *DescribeDatabasesRequest) {
+	request = &DescribeDatabasesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeDatabases", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeDatabasesResponse creates a response to parse from DescribeDatabases response
+func CreateDescribeDatabasesResponse() (response *DescribeDatabasesResponse) {
+	response = &DescribeDatabasesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/petadata/describe_instance_info.go

@@ -0,0 +1,115 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeInstanceInfo invokes the petadata.DescribeInstanceInfo API synchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceinfo.html
+func (client *Client) DescribeInstanceInfo(request *DescribeInstanceInfoRequest) (response *DescribeInstanceInfoResponse, err error) {
+	response = CreateDescribeInstanceInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceInfoWithChan invokes the petadata.DescribeInstanceInfo API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceInfoWithChan(request *DescribeInstanceInfoRequest) (<-chan *DescribeInstanceInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceInfoWithCallback invokes the petadata.DescribeInstanceInfo API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceInfoWithCallback(request *DescribeInstanceInfoRequest, callback func(response *DescribeInstanceInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceInfoRequest is the request struct for api DescribeInstanceInfo
+type DescribeInstanceInfoRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeInstanceInfoResponse is the response struct for api DescribeInstanceInfo
+type DescribeInstanceInfoResponse struct {
+	*responses.BaseResponse
+	RequestId        string                          `json:"RequestId" xml:"RequestId"`
+	InstanceId       string                          `json:"InstanceId" xml:"InstanceId"`
+	InstanceName     string                          `json:"InstanceName" xml:"InstanceName"`
+	RegionId         string                          `json:"RegionId" xml:"RegionId"`
+	ZoneId           string                          `json:"ZoneId" xml:"ZoneId"`
+	InstanceStatus   string                          `json:"InstanceStatus" xml:"InstanceStatus"`
+	NetworkInfoItems NetworkInfoItems                `json:"NetworkInfoItems" xml:"NetworkInfoItems"`
+	Databases        DatabasesInDescribeInstanceInfo `json:"Databases" xml:"Databases"`
+}
+
+// CreateDescribeInstanceInfoRequest creates a request to invoke DescribeInstanceInfo API
+func CreateDescribeInstanceInfoRequest() (request *DescribeInstanceInfoRequest) {
+	request = &DescribeInstanceInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeInstanceInfo", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceInfoResponse creates a response to parse from DescribeInstanceInfo response
+func CreateDescribeInstanceInfoResponse() (response *DescribeInstanceInfoResponse) {
+	response = &DescribeInstanceInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/petadata/describe_instance_performance.go

@@ -0,0 +1,114 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeInstancePerformance invokes the petadata.DescribeInstancePerformance API synchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceperformance.html
+func (client *Client) DescribeInstancePerformance(request *DescribeInstancePerformanceRequest) (response *DescribeInstancePerformanceResponse, err error) {
+	response = CreateDescribeInstancePerformanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstancePerformanceWithChan invokes the petadata.DescribeInstancePerformance API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceperformance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstancePerformanceWithChan(request *DescribeInstancePerformanceRequest) (<-chan *DescribeInstancePerformanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstancePerformanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstancePerformance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstancePerformanceWithCallback invokes the petadata.DescribeInstancePerformance API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceperformance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstancePerformanceWithCallback(request *DescribeInstancePerformanceRequest, callback func(response *DescribeInstancePerformanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstancePerformanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstancePerformance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstancePerformanceRequest is the request struct for api DescribeInstancePerformance
+type DescribeInstancePerformanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	KeyList              string           `position:"Query" name:"KeyList"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	MonitorGroup         string           `position:"Query" name:"MonitorGroup"`
+	Interval             string           `position:"Query" name:"Interval"`
+}
+
+// DescribeInstancePerformanceResponse is the response struct for api DescribeInstancePerformance
+type DescribeInstancePerformanceResponse struct {
+	*responses.BaseResponse
+	RequestId    string                                    `json:"RequestId" xml:"RequestId"`
+	MonitorDatas MonitorDatasInDescribeInstancePerformance `json:"MonitorDatas" xml:"MonitorDatas"`
+}
+
+// CreateDescribeInstancePerformanceRequest creates a request to invoke DescribeInstancePerformance API
+func CreateDescribeInstancePerformanceRequest() (request *DescribeInstancePerformanceRequest) {
+	request = &DescribeInstancePerformanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeInstancePerformance", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeInstancePerformanceResponse creates a response to parse from DescribeInstancePerformance response
+func CreateDescribeInstancePerformanceResponse() (response *DescribeInstancePerformanceResponse) {
+	response = &DescribeInstancePerformanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/petadata/describe_instance_resource_usage.go

@@ -0,0 +1,112 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeInstanceResourceUsage invokes the petadata.DescribeInstanceResourceUsage API synchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceresourceusage.html
+func (client *Client) DescribeInstanceResourceUsage(request *DescribeInstanceResourceUsageRequest) (response *DescribeInstanceResourceUsageResponse, err error) {
+	response = CreateDescribeInstanceResourceUsageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceResourceUsageWithChan invokes the petadata.DescribeInstanceResourceUsage API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceresourceusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceResourceUsageWithChan(request *DescribeInstanceResourceUsageRequest) (<-chan *DescribeInstanceResourceUsageResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceResourceUsageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceResourceUsage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceResourceUsageWithCallback invokes the petadata.DescribeInstanceResourceUsage API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeinstanceresourceusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceResourceUsageWithCallback(request *DescribeInstanceResourceUsageRequest, callback func(response *DescribeInstanceResourceUsageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceResourceUsageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceResourceUsage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceResourceUsageRequest is the request struct for api DescribeInstanceResourceUsage
+type DescribeInstanceResourceUsageRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	Interval             string           `position:"Query" name:"Interval"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeInstanceResourceUsageResponse is the response struct for api DescribeInstanceResourceUsage
+type DescribeInstanceResourceUsageResponse struct {
+	*responses.BaseResponse
+	RequestId    string                                      `json:"RequestId" xml:"RequestId"`
+	MonitorDatas MonitorDatasInDescribeInstanceResourceUsage `json:"MonitorDatas" xml:"MonitorDatas"`
+}
+
+// CreateDescribeInstanceResourceUsageRequest creates a request to invoke DescribeInstanceResourceUsage API
+func CreateDescribeInstanceResourceUsageRequest() (request *DescribeInstanceResourceUsageRequest) {
+	request = &DescribeInstanceResourceUsageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeInstanceResourceUsage", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceResourceUsageResponse creates a response to parse from DescribeInstanceResourceUsage response
+func CreateDescribeInstanceResourceUsageResponse() (response *DescribeInstanceResourceUsageResponse) {
+	response = &DescribeInstanceResourceUsageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/petadata/describe_instances.go

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

+ 111 - 0
services/petadata/describe_monitor_items.go

@@ -0,0 +1,111 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeMonitorItems invokes the petadata.DescribeMonitorItems API synchronously
+// api document: https://help.aliyun.com/api/petadata/describemonitoritems.html
+func (client *Client) DescribeMonitorItems(request *DescribeMonitorItemsRequest) (response *DescribeMonitorItemsResponse, err error) {
+	response = CreateDescribeMonitorItemsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeMonitorItemsWithChan invokes the petadata.DescribeMonitorItems API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describemonitoritems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMonitorItemsWithChan(request *DescribeMonitorItemsRequest) (<-chan *DescribeMonitorItemsResponse, <-chan error) {
+	responseChan := make(chan *DescribeMonitorItemsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeMonitorItems(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeMonitorItemsWithCallback invokes the petadata.DescribeMonitorItems API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describemonitoritems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMonitorItemsWithCallback(request *DescribeMonitorItemsRequest, callback func(response *DescribeMonitorItemsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeMonitorItemsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeMonitorItems(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeMonitorItemsRequest is the request struct for api DescribeMonitorItems
+type DescribeMonitorItemsRequest struct {
+	*requests.RpcRequest
+	ItemLevel            string           `position:"Query" name:"ItemLevel"`
+	MonitorVersion       string           `position:"Query" name:"MonitorVersion"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeMonitorItemsResponse is the response struct for api DescribeMonitorItems
+type DescribeMonitorItemsResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	MonitorItems MonitorItems `json:"MonitorItems" xml:"MonitorItems"`
+}
+
+// CreateDescribeMonitorItemsRequest creates a request to invoke DescribeMonitorItems API
+func CreateDescribeMonitorItemsRequest() (request *DescribeMonitorItemsRequest) {
+	request = &DescribeMonitorItemsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeMonitorItems", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeMonitorItemsResponse creates a response to parse from DescribeMonitorItems response
+func CreateDescribeMonitorItemsResponse() (response *DescribeMonitorItemsResponse) {
+	response = &DescribeMonitorItemsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/petadata/describe_price.go

@@ -0,0 +1,111 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribePrice invokes the petadata.DescribePrice API synchronously
+// api document: https://help.aliyun.com/api/petadata/describeprice.html
+func (client *Client) DescribePrice(request *DescribePriceRequest) (response *DescribePriceResponse, err error) {
+	response = CreateDescribePriceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePriceWithChan invokes the petadata.DescribePrice API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePriceWithChan(request *DescribePriceRequest) (<-chan *DescribePriceResponse, <-chan error) {
+	responseChan := make(chan *DescribePriceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePrice(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePriceWithCallback invokes the petadata.DescribePrice API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describeprice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePriceWithCallback(request *DescribePriceRequest, callback func(response *DescribePriceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePriceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePrice(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePriceRequest is the request struct for api DescribePrice
+type DescribePriceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	Commodities          string           `position:"Query" name:"Commodities"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	OrderType            string           `position:"Query" name:"OrderType"`
+}
+
+// DescribePriceResponse is the response struct for api DescribePrice
+type DescribePriceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Order     Order  `json:"Order" xml:"Order"`
+	Rules     Rules  `json:"Rules" xml:"Rules"`
+}
+
+// CreateDescribePriceRequest creates a request to invoke DescribePrice API
+func CreateDescribePriceRequest() (request *DescribePriceRequest) {
+	request = &DescribePriceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribePrice", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribePriceResponse creates a response to parse from DescribePrice response
+func CreateDescribePriceResponse() (response *DescribePriceResponse) {
+	response = &DescribePriceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/petadata/describe_regions.go

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

+ 111 - 0
services/petadata/describe_security_i_ps.go

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

+ 114 - 0
services/petadata/describe_task_status.go

@@ -0,0 +1,114 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTaskStatus invokes the petadata.DescribeTaskStatus API synchronously
+// api document: https://help.aliyun.com/api/petadata/describetaskstatus.html
+func (client *Client) DescribeTaskStatus(request *DescribeTaskStatusRequest) (response *DescribeTaskStatusResponse, err error) {
+	response = CreateDescribeTaskStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTaskStatusWithChan invokes the petadata.DescribeTaskStatus API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describetaskstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTaskStatusWithChan(request *DescribeTaskStatusRequest) (<-chan *DescribeTaskStatusResponse, <-chan error) {
+	responseChan := make(chan *DescribeTaskStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTaskStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTaskStatusWithCallback invokes the petadata.DescribeTaskStatus API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describetaskstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTaskStatusWithCallback(request *DescribeTaskStatusRequest, callback func(response *DescribeTaskStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTaskStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTaskStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTaskStatusRequest is the request struct for api DescribeTaskStatus
+type DescribeTaskStatusRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	TaskId               string           `position:"Query" name:"TaskId"`
+}
+
+// DescribeTaskStatusResponse is the response struct for api DescribeTaskStatus
+type DescribeTaskStatusResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TaskId     string `json:"TaskId" xml:"TaskId"`
+	Message    string `json:"Message" xml:"Message"`
+	BeginTime  string `json:"BeginTime" xml:"BeginTime"`
+	FinishTime string `json:"FinishTime" xml:"FinishTime"`
+	Status     string `json:"Status" xml:"Status"`
+}
+
+// CreateDescribeTaskStatusRequest creates a request to invoke DescribeTaskStatus API
+func CreateDescribeTaskStatusRequest() (request *DescribeTaskStatusRequest) {
+	request = &DescribeTaskStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeTaskStatus", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeTaskStatusResponse creates a response to parse from DescribeTaskStatus response
+func CreateDescribeTaskStatusResponse() (response *DescribeTaskStatusResponse) {
+	response = &DescribeTaskStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 121 - 0
services/petadata/describe_tasks.go

@@ -0,0 +1,121 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTasks invokes the petadata.DescribeTasks API synchronously
+// api document: https://help.aliyun.com/api/petadata/describetasks.html
+func (client *Client) DescribeTasks(request *DescribeTasksRequest) (response *DescribeTasksResponse, err error) {
+	response = CreateDescribeTasksResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTasksWithChan invokes the petadata.DescribeTasks API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describetasks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTasksWithChan(request *DescribeTasksRequest) (<-chan *DescribeTasksResponse, <-chan error) {
+	responseChan := make(chan *DescribeTasksResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTasks(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTasksWithCallback invokes the petadata.DescribeTasks API asynchronously
+// api document: https://help.aliyun.com/api/petadata/describetasks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTasksWithCallback(request *DescribeTasksRequest, callback func(response *DescribeTasksResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTasksResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTasks(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTasksRequest is the request struct for api DescribeTasks
+type DescribeTasksRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	MaxRecordsPerPage    string           `position:"Query" name:"MaxRecordsPerPage"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	PageNumbers          string           `position:"Query" name:"PageNumbers"`
+	TaskAction           string           `position:"Query" name:"TaskAction"`
+	Status               string           `position:"Query" name:"Status"`
+}
+
+// DescribeTasksResponse is the response struct for api DescribeTasks
+type DescribeTasksResponse struct {
+	*responses.BaseResponse
+	RequestId         string `json:"RequestId" xml:"RequestId"`
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	StartTime         string `json:"StartTime" xml:"StartTime"`
+	EndTime           string `json:"EndTime" xml:"EndTime"`
+	TotalRecords      string `json:"TotalRecords" xml:"TotalRecords"`
+	MaxRecordsPerPage string `json:"MaxRecordsPerPage" xml:"MaxRecordsPerPage"`
+	PageNumbers       string `json:"PageNumbers" xml:"PageNumbers"`
+	Tasks             Tasks  `json:"Tasks" xml:"Tasks"`
+}
+
+// CreateDescribeTasksRequest creates a request to invoke DescribeTasks API
+func CreateDescribeTasksRequest() (request *DescribeTasksRequest) {
+	request = &DescribeTasksRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "DescribeTasks", "petadata", "openAPI")
+	return
+}
+
+// CreateDescribeTasksResponse creates a response to parse from DescribeTasks response
+func CreateDescribeTasksResponse() (response *DescribeTasksResponse) {
+	response = &DescribeTasksResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/petadata/describe_user_info.go

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

+ 111 - 0
services/petadata/grant_account_privilege.go

@@ -0,0 +1,111 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GrantAccountPrivilege invokes the petadata.GrantAccountPrivilege API synchronously
+// api document: https://help.aliyun.com/api/petadata/grantaccountprivilege.html
+func (client *Client) GrantAccountPrivilege(request *GrantAccountPrivilegeRequest) (response *GrantAccountPrivilegeResponse, err error) {
+	response = CreateGrantAccountPrivilegeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GrantAccountPrivilegeWithChan invokes the petadata.GrantAccountPrivilege API asynchronously
+// api document: https://help.aliyun.com/api/petadata/grantaccountprivilege.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GrantAccountPrivilegeWithChan(request *GrantAccountPrivilegeRequest) (<-chan *GrantAccountPrivilegeResponse, <-chan error) {
+	responseChan := make(chan *GrantAccountPrivilegeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GrantAccountPrivilege(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GrantAccountPrivilegeWithCallback invokes the petadata.GrantAccountPrivilege API asynchronously
+// api document: https://help.aliyun.com/api/petadata/grantaccountprivilege.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GrantAccountPrivilegeWithCallback(request *GrantAccountPrivilegeRequest, callback func(response *GrantAccountPrivilegeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GrantAccountPrivilegeResponse
+		var err error
+		defer close(result)
+		response, err = client.GrantAccountPrivilege(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GrantAccountPrivilegeRequest is the request struct for api GrantAccountPrivilege
+type GrantAccountPrivilegeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	DBName               string           `position:"Query" name:"DBName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	DBInstanceId         string           `position:"Query" name:"DBInstanceId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AccountPrivilege     string           `position:"Query" name:"AccountPrivilege"`
+}
+
+// GrantAccountPrivilegeResponse is the response struct for api GrantAccountPrivilege
+type GrantAccountPrivilegeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateGrantAccountPrivilegeRequest creates a request to invoke GrantAccountPrivilege API
+func CreateGrantAccountPrivilegeRequest() (request *GrantAccountPrivilegeRequest) {
+	request = &GrantAccountPrivilegeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "GrantAccountPrivilege", "petadata", "openAPI")
+	return
+}
+
+// CreateGrantAccountPrivilegeResponse creates a response to parse from GrantAccountPrivilege response
+func CreateGrantAccountPrivilegeResponse() (response *GrantAccountPrivilegeResponse) {
+	response = &GrantAccountPrivilegeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/petadata/modify_account_description.go

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

+ 111 - 0
services/petadata/modify_account_password.go

@@ -0,0 +1,111 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyAccountPassword invokes the petadata.ModifyAccountPassword API synchronously
+// api document: https://help.aliyun.com/api/petadata/modifyaccountpassword.html
+func (client *Client) ModifyAccountPassword(request *ModifyAccountPasswordRequest) (response *ModifyAccountPasswordResponse, err error) {
+	response = CreateModifyAccountPasswordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAccountPasswordWithChan invokes the petadata.ModifyAccountPassword API asynchronously
+// api document: https://help.aliyun.com/api/petadata/modifyaccountpassword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAccountPasswordWithChan(request *ModifyAccountPasswordRequest) (<-chan *ModifyAccountPasswordResponse, <-chan error) {
+	responseChan := make(chan *ModifyAccountPasswordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyAccountPassword(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAccountPasswordWithCallback invokes the petadata.ModifyAccountPassword API asynchronously
+// api document: https://help.aliyun.com/api/petadata/modifyaccountpassword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAccountPasswordWithCallback(request *ModifyAccountPasswordRequest, callback func(response *ModifyAccountPasswordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAccountPasswordResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyAccountPassword(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAccountPasswordRequest is the request struct for api ModifyAccountPassword
+type ModifyAccountPasswordRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	AccountName          string           `position:"Query" name:"AccountName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OldPassword          string           `position:"Query" name:"OldPassword"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	NewPassword          string           `position:"Query" name:"NewPassword"`
+}
+
+// ModifyAccountPasswordResponse is the response struct for api ModifyAccountPassword
+type ModifyAccountPasswordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyAccountPasswordRequest creates a request to invoke ModifyAccountPassword API
+func CreateModifyAccountPasswordRequest() (request *ModifyAccountPasswordRequest) {
+	request = &ModifyAccountPasswordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "ModifyAccountPassword", "petadata", "openAPI")
+	return
+}
+
+// CreateModifyAccountPasswordResponse creates a response to parse from ModifyAccountPassword response
+func CreateModifyAccountPasswordResponse() (response *ModifyAccountPasswordResponse) {
+	response = &ModifyAccountPasswordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/petadata/modify_backup_policy.go

@@ -0,0 +1,113 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyBackupPolicy invokes the petadata.ModifyBackupPolicy API synchronously
+// api document: https://help.aliyun.com/api/petadata/modifybackuppolicy.html
+func (client *Client) ModifyBackupPolicy(request *ModifyBackupPolicyRequest) (response *ModifyBackupPolicyResponse, err error) {
+	response = CreateModifyBackupPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyBackupPolicyWithChan invokes the petadata.ModifyBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/petadata/modifybackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyBackupPolicyWithChan(request *ModifyBackupPolicyRequest) (<-chan *ModifyBackupPolicyResponse, <-chan error) {
+	responseChan := make(chan *ModifyBackupPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyBackupPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyBackupPolicyWithCallback invokes the petadata.ModifyBackupPolicy API asynchronously
+// api document: https://help.aliyun.com/api/petadata/modifybackuppolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyBackupPolicyWithCallback(request *ModifyBackupPolicyRequest, callback func(response *ModifyBackupPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyBackupPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyBackupPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyBackupPolicyRequest is the request struct for api ModifyBackupPolicy
+type ModifyBackupPolicyRequest struct {
+	*requests.RpcRequest
+	PreferredBackupPeriod string           `position:"Query" name:"PreferredBackupPeriod"`
+	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	PreferredBackupTime   string           `position:"Query" name:"PreferredBackupTime"`
+	BackupRetentionPeriod string           `position:"Query" name:"BackupRetentionPeriod"`
+	EnableBinlogBackup    requests.Boolean `position:"Query" name:"EnableBinlogBackup"`
+	InstanceId            string           `position:"Query" name:"InstanceId"`
+	DBName                string           `position:"Query" name:"DBName"`
+	SecurityToken         string           `position:"Query" name:"SecurityToken"`
+}
+
+// ModifyBackupPolicyResponse is the response struct for api ModifyBackupPolicy
+type ModifyBackupPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyBackupPolicyRequest creates a request to invoke ModifyBackupPolicy API
+func CreateModifyBackupPolicyRequest() (request *ModifyBackupPolicyRequest) {
+	request = &ModifyBackupPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "ModifyBackupPolicy", "petadata", "openAPI")
+	return
+}
+
+// CreateModifyBackupPolicyResponse creates a response to parse from ModifyBackupPolicy response
+func CreateModifyBackupPolicyResponse() (response *ModifyBackupPolicyResponse) {
+	response = &ModifyBackupPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/petadata/modify_instance_name.go

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

+ 114 - 0
services/petadata/modify_security_i_ps.go

@@ -0,0 +1,114 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifySecurityIPs invokes the petadata.ModifySecurityIPs API synchronously
+// api document: https://help.aliyun.com/api/petadata/modifysecurityips.html
+func (client *Client) ModifySecurityIPs(request *ModifySecurityIPsRequest) (response *ModifySecurityIPsResponse, err error) {
+	response = CreateModifySecurityIPsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySecurityIPsWithChan invokes the petadata.ModifySecurityIPs API asynchronously
+// api document: https://help.aliyun.com/api/petadata/modifysecurityips.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySecurityIPsWithChan(request *ModifySecurityIPsRequest) (<-chan *ModifySecurityIPsResponse, <-chan error) {
+	responseChan := make(chan *ModifySecurityIPsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifySecurityIPs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifySecurityIPsWithCallback invokes the petadata.ModifySecurityIPs API asynchronously
+// api document: https://help.aliyun.com/api/petadata/modifysecurityips.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySecurityIPsWithCallback(request *ModifySecurityIPsRequest, callback func(response *ModifySecurityIPsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifySecurityIPsResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifySecurityIPs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifySecurityIPsRequest is the request struct for api ModifySecurityIPs
+type ModifySecurityIPsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId         requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ModifyMode              string           `position:"Query" name:"ModifyMode"`
+	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
+	SecurityIPListAttribute string           `position:"Query" name:"SecurityIPListAttribute"`
+	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
+	SecurityIPList          string           `position:"Query" name:"SecurityIPList"`
+	InstanceId              string           `position:"Query" name:"InstanceId"`
+	SecurityToken           string           `position:"Query" name:"SecurityToken"`
+	SecurityIPListName      string           `position:"Query" name:"SecurityIPListName"`
+}
+
+// ModifySecurityIPsResponse is the response struct for api ModifySecurityIPs
+type ModifySecurityIPsResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	InstanceId     string `json:"InstanceId" xml:"InstanceId"`
+	SecurityIPList string `json:"SecurityIPList" xml:"SecurityIPList"`
+}
+
+// CreateModifySecurityIPsRequest creates a request to invoke ModifySecurityIPs API
+func CreateModifySecurityIPsRequest() (request *ModifySecurityIPsRequest) {
+	request = &ModifySecurityIPsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "ModifySecurityIPs", "petadata", "openAPI")
+	return
+}
+
+// CreateModifySecurityIPsResponse creates a response to parse from ModifySecurityIPs response
+func CreateModifySecurityIPsResponse() (response *ModifySecurityIPsResponse) {
+	response = &ModifySecurityIPsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/petadata/release_instance_public_connection.go

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

+ 110 - 0
services/petadata/reset_account_password.go

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

+ 117 - 0
services/petadata/restore_database.go

@@ -0,0 +1,117 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RestoreDatabase invokes the petadata.RestoreDatabase API synchronously
+// api document: https://help.aliyun.com/api/petadata/restoredatabase.html
+func (client *Client) RestoreDatabase(request *RestoreDatabaseRequest) (response *RestoreDatabaseResponse, err error) {
+	response = CreateRestoreDatabaseResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RestoreDatabaseWithChan invokes the petadata.RestoreDatabase API asynchronously
+// api document: https://help.aliyun.com/api/petadata/restoredatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestoreDatabaseWithChan(request *RestoreDatabaseRequest) (<-chan *RestoreDatabaseResponse, <-chan error) {
+	responseChan := make(chan *RestoreDatabaseResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RestoreDatabase(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RestoreDatabaseWithCallback invokes the petadata.RestoreDatabase API asynchronously
+// api document: https://help.aliyun.com/api/petadata/restoredatabase.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RestoreDatabaseWithCallback(request *RestoreDatabaseRequest, callback func(response *RestoreDatabaseResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RestoreDatabaseResponse
+		var err error
+		defer close(result)
+		response, err = client.RestoreDatabase(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RestoreDatabaseRequest is the request struct for api RestoreDatabase
+type RestoreDatabaseRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	RestoreTime          string           `position:"Query" name:"RestoreTime"`
+	SrcDBName            string           `position:"Query" name:"SrcDBName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	BackupId             string           `position:"Query" name:"BackupId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	RestoreType          string           `position:"Query" name:"RestoreType"`
+	InstanceName         string           `position:"Query" name:"InstanceName"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	SrcInstanceId        string           `position:"Query" name:"SrcInstanceId"`
+}
+
+// RestoreDatabaseResponse is the response struct for api RestoreDatabase
+type RestoreDatabaseResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	NewInstanceId string `json:"NewInstanceId" xml:"NewInstanceId"`
+	DBName        string `json:"DBName" xml:"DBName"`
+	OrderId       string `json:"OrderId" xml:"OrderId"`
+}
+
+// CreateRestoreDatabaseRequest creates a request to invoke RestoreDatabase API
+func CreateRestoreDatabaseRequest() (request *RestoreDatabaseRequest) {
+	request = &RestoreDatabaseRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "RestoreDatabase", "petadata", "openAPI")
+	return
+}
+
+// CreateRestoreDatabaseResponse creates a response to parse from RestoreDatabase response
+func CreateRestoreDatabaseResponse() (response *RestoreDatabaseResponse) {
+	response = &RestoreDatabaseResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/petadata/revoke_account_privilege.go

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

+ 25 - 0
services/petadata/struct_account.go

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

+ 21 - 0
services/petadata/struct_account_list.go

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

+ 22 - 0
services/petadata/struct_already_has_resource_num.go

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

+ 29 - 0
services/petadata/struct_backup.go

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

+ 21 - 0
services/petadata/struct_backup_items.go

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

+ 30 - 0
services/petadata/struct_database.go

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

+ 23 - 0
services/petadata/struct_database_privilege.go

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

+ 21 - 0
services/petadata/struct_database_privileges.go

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

+ 21 - 0
services/petadata/struct_databases_in_describe_databases.go

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

+ 21 - 0
services/petadata/struct_databases_in_describe_instance_info.go

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

+ 21 - 0
services/petadata/struct_databases_in_describe_instances.go

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

+ 21 - 0
services/petadata/struct_group_value.go

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

+ 33 - 0
services/petadata/struct_instance.go

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

+ 21 - 0
services/petadata/struct_instances.go

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

+ 28 - 0
services/petadata/struct_monitor_data.go

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

+ 21 - 0
services/petadata/struct_monitor_datas_in_describe_database_performance.go

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

+ 21 - 0
services/petadata/struct_monitor_datas_in_describe_database_resource_usage.go

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

+ 21 - 0
services/petadata/struct_monitor_datas_in_describe_instance_performance.go

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

+ 21 - 0
services/petadata/struct_monitor_datas_in_describe_instance_resource_usage.go

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

+ 26 - 0
services/petadata/struct_monitor_item.go

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

+ 23 - 0
services/petadata/struct_monitor_item_model.go

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

+ 21 - 0
services/petadata/struct_monitor_items.go

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

+ 26 - 0
services/petadata/struct_network_info_item.go

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

+ 21 - 0
services/petadata/struct_network_info_items.go

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

+ 24 - 0
services/petadata/struct_order.go

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

+ 23 - 0
services/petadata/struct_partition.go

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

+ 21 - 0
services/petadata/struct_partitions.go

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

+ 22 - 0
services/petadata/struct_performance_value.go

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

+ 21 - 0
services/petadata/struct_performance_values_in_describe_database_performance.go

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

+ 21 - 0
services/petadata/struct_performance_values_in_describe_instance_performance.go

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

+ 23 - 0
services/petadata/struct_region.go

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

+ 21 - 0
services/petadata/struct_regions.go

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

+ 23 - 0
services/petadata/struct_rule.go

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

+ 21 - 0
services/petadata/struct_rule_ids.go

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

+ 21 - 0
services/petadata/struct_rules.go

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

+ 21 - 0
services/petadata/struct_security_i_ps.go

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

+ 23 - 0
services/petadata/struct_security_ip_group.go

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

+ 29 - 0
services/petadata/struct_task.go

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

+ 21 - 0
services/petadata/struct_tasks.go

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

+ 22 - 0
services/petadata/struct_zone.go

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

+ 21 - 0
services/petadata/struct_zones.go

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

+ 111 - 0
services/petadata/switch_instance_net_type.go

@@ -0,0 +1,111 @@
+package petadata
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SwitchInstanceNetType invokes the petadata.SwitchInstanceNetType API synchronously
+// api document: https://help.aliyun.com/api/petadata/switchinstancenettype.html
+func (client *Client) SwitchInstanceNetType(request *SwitchInstanceNetTypeRequest) (response *SwitchInstanceNetTypeResponse, err error) {
+	response = CreateSwitchInstanceNetTypeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SwitchInstanceNetTypeWithChan invokes the petadata.SwitchInstanceNetType API asynchronously
+// api document: https://help.aliyun.com/api/petadata/switchinstancenettype.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SwitchInstanceNetTypeWithChan(request *SwitchInstanceNetTypeRequest) (<-chan *SwitchInstanceNetTypeResponse, <-chan error) {
+	responseChan := make(chan *SwitchInstanceNetTypeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SwitchInstanceNetType(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SwitchInstanceNetTypeWithCallback invokes the petadata.SwitchInstanceNetType API asynchronously
+// api document: https://help.aliyun.com/api/petadata/switchinstancenettype.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SwitchInstanceNetTypeWithCallback(request *SwitchInstanceNetTypeRequest, callback func(response *SwitchInstanceNetTypeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SwitchInstanceNetTypeResponse
+		var err error
+		defer close(result)
+		response, err = client.SwitchInstanceNetType(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SwitchInstanceNetTypeRequest is the request struct for api SwitchInstanceNetType
+type SwitchInstanceNetTypeRequest struct {
+	*requests.RpcRequest
+	VSwitchId            string           `position:"Query" name:"VSwitchId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	TargetNetworkType    string           `position:"Query" name:"TargetNetworkType"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	VpcId                string           `position:"Query" name:"VpcId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// SwitchInstanceNetTypeResponse is the response struct for api SwitchInstanceNetType
+type SwitchInstanceNetTypeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSwitchInstanceNetTypeRequest creates a request to invoke SwitchInstanceNetType API
+func CreateSwitchInstanceNetTypeRequest() (request *SwitchInstanceNetTypeRequest) {
+	request = &SwitchInstanceNetTypeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("PetaData", "2016-01-01", "SwitchInstanceNetType", "petadata", "openAPI")
+	return
+}
+
+// CreateSwitchInstanceNetTypeResponse creates a response to parse from SwitchInstanceNetType response
+func CreateSwitchInstanceNetTypeResponse() (response *SwitchInstanceNetTypeResponse) {
+	response = &SwitchInstanceNetTypeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}