Browse Source

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

yixiong.jxy 7 years ago
parent
commit
cad214d7d7
100 changed files with 3496 additions and 382 deletions
  1. 10 0
      ChangeLog.txt
  2. 2 2
      services/ess/create_alarm.go
  3. 1 1
      services/ess/struct_alarm.go
  4. 22 0
      services/ess/struct_dimension.go
  5. 21 0
      services/ess/struct_dimensions.go
  6. 114 0
      services/r-kvstore/create_account.go
  7. 112 0
      services/r-kvstore/delete_account.go
  8. 110 0
      services/r-kvstore/describe_accounts.go
  9. 1 0
      services/r-kvstore/describe_instances.go
  10. 112 0
      services/r-kvstore/describe_parameter_modification_history.go
  11. 114 0
      services/r-kvstore/describe_parameter_templates.go
  12. 113 0
      services/r-kvstore/describe_parameters.go
  13. 1 0
      services/r-kvstore/describe_replicas.go
  14. 108 0
      services/r-kvstore/destroy_instance.go
  15. 112 0
      services/r-kvstore/evaluate_fail_over_switch.go
  16. 110 0
      services/r-kvstore/grant_account_privilege.go
  17. 110 0
      services/r-kvstore/modify_account_description.go
  18. 110 0
      services/r-kvstore/modify_db_instance_connection_string.go
  19. 1 0
      services/r-kvstore/modify_instance_minor_version.go
  20. 2 0
      services/r-kvstore/modify_instance_spec.go
  21. 110 0
      services/r-kvstore/reset_account.go
  22. 110 0
      services/r-kvstore/reset_account_password.go
  23. 109 0
      services/r-kvstore/revoke_account_privilege.go
  24. 27 0
      services/r-kvstore/struct_account.go
  25. 21 0
      services/r-kvstore/struct_accounts_in_describe_accounts.go
  26. 21 0
      services/r-kvstore/struct_accounts_in_evaluate_fail_over_switch.go
  27. 29 0
      services/r-kvstore/struct_accounts_item.go
  28. 21 0
      services/r-kvstore/struct_config_parameters.go
  29. 22 0
      services/r-kvstore/struct_database_privilege.go
  30. 21 0
      services/r-kvstore/struct_database_privileges.go
  31. 4 1
      services/r-kvstore/struct_db_instance_attribute.go
  32. 24 0
      services/r-kvstore/struct_historical_parameter.go
  33. 21 0
      services/r-kvstore/struct_historical_parameters.go
  34. 16 9
      services/r-kvstore/struct_items.go
  35. 21 0
      services/r-kvstore/struct_items_in_evaluate_fail_over_switch.go
  36. 32 24
      services/r-kvstore/struct_items_item.go
  37. 1 0
      services/r-kvstore/struct_kv_store_instance.go
  38. 26 0
      services/r-kvstore/struct_parameter.go
  39. 26 0
      services/r-kvstore/struct_parameter_in_describe_parameters.go
  40. 21 0
      services/r-kvstore/struct_parameters.go
  41. 21 0
      services/r-kvstore/struct_reports.go
  42. 24 0
      services/r-kvstore/struct_reports_item.go
  43. 21 0
      services/r-kvstore/struct_running_parameters.go
  44. 26 0
      services/r-kvstore/struct_template_record.go
  45. 110 0
      services/slb/add_access_control_list_entry.go
  46. 4 4
      services/slb/add_backend_servers.go
  47. 4 4
      services/slb/add_listener_white_list_item.go
  48. 4 4
      services/slb/add_tags.go
  49. 5 5
      services/slb/add_v_server_group_backend_servers.go
  50. 111 0
      services/slb/create_access_control_list.go
  51. 114 0
      services/slb/create_domain_extension.go
  52. 16 14
      services/slb/create_load_balancer.go
  53. 30 21
      services/slb/create_load_balancer_http_listener.go
  54. 31 22
      services/slb/create_load_balancer_https_listener.go
  55. 24 19
      services/slb/create_load_balancer_tcp_listener.go
  56. 22 17
      services/slb/create_load_balancer_udp_listener.go
  57. 6 6
      services/slb/create_master_slave_server_group.go
  58. 6 6
      services/slb/create_master_slave_v_server_group.go
  59. 6 6
      services/slb/create_rules.go
  60. 5 5
      services/slb/create_v_server_group.go
  61. 109 0
      services/slb/delete_access_control_list.go
  62. 3 3
      services/slb/delete_ca_certificate.go
  63. 109 0
      services/slb/delete_domain_extension.go
  64. 3 3
      services/slb/delete_load_balancer.go
  65. 4 4
      services/slb/delete_load_balancer_listener.go
  66. 4 4
      services/slb/delete_master_slave_server_group.go
  67. 4 4
      services/slb/delete_master_slave_v_server_group.go
  68. 4 4
      services/slb/delete_rules.go
  69. 4 4
      services/slb/delete_server_certificate.go
  70. 4 4
      services/slb/delete_v_server_group.go
  71. 115 0
      services/slb/describe_access_control_list_attribute.go
  72. 113 0
      services/slb/describe_access_control_lists.go
  73. 4 4
      services/slb/describe_ca_certificates.go
  74. 112 0
      services/slb/describe_domain_extensions.go
  75. 4 4
      services/slb/describe_health_status.go
  76. 4 4
      services/slb/describe_listener_access_control_attribute.go
  77. 8 3
      services/slb/describe_load_balancer_attribute.go
  78. 4 4
      services/slb/describe_load_balancer_auto_release_time.go
  79. 41 31
      services/slb/describe_load_balancer_http_listener_attribute.go
  80. 44 33
      services/slb/describe_load_balancer_https_listener_attribute.go
  81. 9 4
      services/slb/describe_load_balancer_tcp_listener_attribute.go
  82. 9 4
      services/slb/describe_load_balancer_udp_listener_attribute.go
  83. 18 15
      services/slb/describe_load_balancers.go
  84. 4 4
      services/slb/describe_load_balancers_related_ecs.go
  85. 4 4
      services/slb/describe_master_slave_server_group_attribute.go
  86. 5 4
      services/slb/describe_master_slave_server_groups.go
  87. 4 4
      services/slb/describe_master_slave_v_server_group_attribute.go
  88. 4 4
      services/slb/describe_master_slave_v_server_groups.go
  89. 4 3
      services/slb/describe_regions.go
  90. 26 11
      services/slb/describe_rule_attribute.go
  91. 5 5
      services/slb/describe_rules.go
  92. 5 5
      services/slb/describe_server_certificates.go
  93. 109 0
      services/slb/describe_slb_quotas.go
  94. 6 6
      services/slb/describe_tags.go
  95. 4 4
      services/slb/describe_v_server_group_attribute.go
  96. 6 4
      services/slb/describe_v_server_groups.go
  97. 3 3
      services/slb/describe_zones.go
  98. 5 5
      services/slb/modify_load_balancer_instance_spec.go
  99. 5 5
      services/slb/modify_load_balancer_internet_spec.go
  100. 5 5
      services/slb/modify_load_balancer_pay_type.go

+ 10 - 0
ChangeLog.txt

@@ -1,3 +1,13 @@
+2018-08-28 Version: 1.27.6
+1, Add param for DescribeRegions,support AcceptLanguage,RegionEndpoint.
+
+2018-08-27 Version: 1.27.5
+1, add Ess alarm task api, CreateAlarm, DeleteAlarm, DescribeAlarms, DeleteAlarm, EnableAlarm, DisableAlarm
+
+
+2018-08-27 Version: 1.27.4
+1, createInstance supported IpAddress param.
+
 2018-08-24 Version: 1.27.3
 1, Add api: DetectQRCode
 

+ 2 - 2
services/ess/create_alarm.go

@@ -80,15 +80,15 @@ type CreateAlarmRequest struct {
 	Period               requests.Integer        `position:"Query" name:"Period"`
 	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
 	ScalingGroupId       string                  `position:"Query" name:"ScalingGroupId"`
-	GroupId              string                  `position:"Query" name:"GroupId"`
+	GroupId              requests.Integer        `position:"Query" name:"GroupId"`
 	Description          string                  `position:"Query" name:"Description"`
 	AlarmAction          *[]string               `position:"Query" name:"AlarmAction"  type:"Repeated"`
 	Threshold            requests.Float          `position:"Query" name:"Threshold"`
 	OwnerId              requests.Integer        `position:"Query" name:"OwnerId"`
-	ComparisionOperator  string                  `position:"Query" name:"ComparisionOperator"`
 	Name                 string                  `position:"Query" name:"Name"`
 	EvaluationCount      requests.Integer        `position:"Query" name:"EvaluationCount"`
 	MetricName           string                  `position:"Query" name:"MetricName"`
+	ComparisonOperator   string                  `position:"Query" name:"ComparisonOperator"`
 	Dimension            *[]CreateAlarmDimension `position:"Query" name:"Dimension"  type:"Repeated"`
 	Statistics           string                  `position:"Query" name:"Statistics"`
 }

+ 1 - 1
services/ess/struct_alarm.go

@@ -22,7 +22,6 @@ type Alarm struct {
 	Description        string       `json:"Description" xml:"Description"`
 	MetricType         string       `json:"MetricType" xml:"MetricType"`
 	MetricName         string       `json:"MetricName" xml:"MetricName"`
-	Dimensions         string       `json:"Dimensions" xml:"Dimensions"`
 	Period             int          `json:"Period" xml:"Period"`
 	Statistics         string       `json:"Statistics" xml:"Statistics"`
 	ComparisonOperator string       `json:"ComparisonOperator" xml:"ComparisonOperator"`
@@ -32,4 +31,5 @@ type Alarm struct {
 	ScalingGroupId     string       `json:"ScalingGroupId" xml:"ScalingGroupId"`
 	Enable             bool         `json:"Enable" xml:"Enable"`
 	AlarmActions       AlarmActions `json:"alarmActions" xml:"alarmActions"`
+	Dimensions         Dimensions   `json:"Dimensions" xml:"Dimensions"`
 }

+ 22 - 0
services/ess/struct_dimension.go

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

+ 21 - 0
services/ess/struct_dimensions.go

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

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

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

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

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

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

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

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

@@ -85,6 +85,7 @@ type DescribeInstancesRequest struct {
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	VSwitchId            string           `position:"Query" name:"VSwitchId"`
+	Expired              string           `position:"Query" name:"Expired"`
 	SecurityToken        string           `position:"Query" name:"SecurityToken"`
 	InstanceIds          string           `position:"Query" name:"InstanceIds"`
 	VpcId                string           `position:"Query" name:"VpcId"`

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

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

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

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

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

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

+ 1 - 0
services/r-kvstore/describe_replicas.go

@@ -79,6 +79,7 @@ type DescribeReplicasRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	SecurityToken        string           `position:"Query" name:"SecurityToken"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AttachDbInstanceData requests.Boolean `position:"Query" name:"AttachDbInstanceData"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	ReplicaId            string           `position:"Query" name:"ReplicaId"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`

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

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

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

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

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

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

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

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

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

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

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

@@ -76,6 +76,7 @@ func (client *Client) ModifyInstanceMinorVersionWithCallback(request *ModifyInst
 // ModifyInstanceMinorVersionRequest is the request struct for api ModifyInstanceMinorVersion
 type ModifyInstanceMinorVersionRequest struct {
 	*requests.RpcRequest
+	ExecuteMode          string           `position:"Query" name:"ExecuteMode"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	InstanceId           string           `position:"Query" name:"InstanceId"`
 	SecurityToken        string           `position:"Query" name:"SecurityToken"`

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

@@ -77,6 +77,7 @@ func (client *Client) ModifyInstanceSpecWithCallback(request *ModifyInstanceSpec
 type ModifyInstanceSpecRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
 	FromApp              string           `position:"Query" name:"FromApp"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
@@ -85,6 +86,7 @@ type ModifyInstanceSpecRequest struct {
 	InstanceClass        string           `position:"Query" name:"InstanceClass"`
 	InstanceId           string           `position:"Query" name:"InstanceId"`
 	SecurityToken        string           `position:"Query" name:"SecurityToken"`
+	EffectiveTime        string           `position:"Query" name:"EffectiveTime"`
 	ForceUpgrade         requests.Boolean `position:"Query" name:"ForceUpgrade"`
 	BusinessInfo         string           `position:"Query" name:"BusinessInfo"`
 }

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

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

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

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

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

@@ -0,0 +1,109 @@
+package r_kvstore
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RevokeAccountPrivilege invokes the r_kvstore.RevokeAccountPrivilege API synchronously
+// api document: https://help.aliyun.com/api/r-kvstore/revokeaccountprivilege.html
+func (client *Client) RevokeAccountPrivilege(request *RevokeAccountPrivilegeRequest) (response *RevokeAccountPrivilegeResponse, err error) {
+	response = CreateRevokeAccountPrivilegeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RevokeAccountPrivilegeWithChan invokes the r_kvstore.RevokeAccountPrivilege API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/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 r_kvstore.RevokeAccountPrivilege API asynchronously
+// api document: https://help.aliyun.com/api/r-kvstore/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"`
+	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"`
+}
+
+// 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("R-kvstore", "2015-01-01", "RevokeAccountPrivilege", "redisa", "openAPI")
+	return
+}
+
+// CreateRevokeAccountPrivilegeResponse creates a response to parse from RevokeAccountPrivilege response
+func CreateRevokeAccountPrivilegeResponse() (response *RevokeAccountPrivilegeResponse) {
+	response = &RevokeAccountPrivilegeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

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

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

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

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

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

+ 29 - 0
services/r-kvstore/struct_accounts_item.go

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

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

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

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

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

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

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

+ 4 - 1
services/r-kvstore/struct_db_instance_attribute.go

@@ -49,5 +49,8 @@ type DBInstanceAttribute struct {
 	InstanceType        string `json:"InstanceType" xml:"InstanceType"`
 	ArchitectureType    string `json:"ArchitectureType" xml:"ArchitectureType"`
 	PackageType         string `json:"PackageType" xml:"PackageType"`
-	ReplacateId         string `json:"ReplacateId" xml:"ReplacateId"`
+	ReplicaId           string `json:"ReplicaId" xml:"ReplicaId"`
+	VpcAuthMode         string `json:"VpcAuthMode" xml:"VpcAuthMode"`
+	ReplicationMode     string `json:"ReplicationMode" xml:"ReplicationMode"`
+	LuaStatus           string `json:"LuaStatus" xml:"LuaStatus"`
 }

+ 24 - 0
services/r-kvstore/struct_historical_parameter.go

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

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

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

+ 16 - 9
services/r-kvstore/struct_items.go

@@ -17,13 +17,20 @@ package r_kvstore
 
 // Items is a nested struct in r_kvstore response
 type Items struct {
-	ReplicaMode        string  `json:"ReplicaMode" xml:"ReplicaMode"`
-	Role               string  `json:"Role" xml:"Role"`
-	ReadWriteType      string  `json:"ReadWriteType" xml:"ReadWriteType"`
-	DomainMode         string  `json:"DomainMode" xml:"DomainMode"`
-	ReplicaDescription string  `json:"ReplicaDescription" xml:"ReplicaDescription"`
-	DBInstanceId       string  `json:"DBInstanceId" xml:"DBInstanceId"`
-	ReplicaStatus      string  `json:"ReplicaStatus" xml:"ReplicaStatus"`
-	ReplicaId          string  `json:"ReplicaId" xml:"ReplicaId"`
-	DBInstances        []Items `json:"DBInstances" xml:"DBInstances"`
+	DBInstanceDescription    string  `json:"DBInstanceDescription" xml:"DBInstanceDescription"`
+	Engine                   string  `json:"Engine" xml:"Engine"`
+	ReadWriteType            string  `json:"ReadWriteType" xml:"ReadWriteType"`
+	DomainMode               string  `json:"DomainMode" xml:"DomainMode"`
+	ReplicaStatus            string  `json:"ReplicaStatus" xml:"ReplicaStatus"`
+	ReplicaMode              string  `json:"ReplicaMode" xml:"ReplicaMode"`
+	ReplicationClusterStatus string  `json:"ReplicationClusterStatus" xml:"ReplicationClusterStatus"`
+	DBInstanceStatus         string  `json:"DBInstanceStatus" xml:"DBInstanceStatus"`
+	RegionId                 string  `json:"RegionId" xml:"RegionId"`
+	Role                     string  `json:"Role" xml:"Role"`
+	InstanceNetworkType      string  `json:"InstanceNetworkType" xml:"InstanceNetworkType"`
+	ZoneId                   string  `json:"ZoneId" xml:"ZoneId"`
+	ReplicaDescription       string  `json:"ReplicaDescription" xml:"ReplicaDescription"`
+	DBInstanceId             string  `json:"DBInstanceId" xml:"DBInstanceId"`
+	ReplicaId                string  `json:"ReplicaId" xml:"ReplicaId"`
+	DBInstances              []Items `json:"DBInstances" xml:"DBInstances"`
 }

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

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

+ 32 - 24
services/r-kvstore/struct_items_item.go

@@ -17,28 +17,36 @@ package r_kvstore
 
 // ItemsItem is a nested struct in r_kvstore response
 type ItemsItem struct {
-	Schema                string `json:"Schema" xml:"Schema"`
-	ConfictReason         string `json:"ConfictReason" xml:"ConfictReason"`
-	SourceDetail          string `json:"SourceDetail" xml:"SourceDetail"`
-	InconsistentFields    string `json:"InconsistentFields" xml:"InconsistentFields"`
-	InstanceIdA           string `json:"InstanceIdA" xml:"InstanceIdA"`
-	DestinationInstanceId string `json:"DestinationInstanceId" xml:"DestinationInstanceId"`
-	ConflictGtid          string `json:"ConflictGtid" xml:"ConflictGtid"`
-	DestinationDetail     string `json:"DestinationDetail" xml:"DestinationDetail"`
-	FinishTime            string `json:"FinishTime" xml:"FinishTime"`
-	OccurTime             string `json:"OccurTime" xml:"OccurTime"`
-	Key                   string `json:"Key" xml:"Key"`
-	Progress              string `json:"Progress" xml:"Progress"`
-	InstanceIdB           string `json:"InstanceIdB" xml:"InstanceIdB"`
-	CurrentStep           string `json:"CurrentStep" xml:"CurrentStep"`
-	SourceInstanceId      string `json:"SourceInstanceId" xml:"SourceInstanceId"`
-	RecoveryMode          string `json:"RecoveryMode" xml:"RecoveryMode"`
-	AbnormalType          string `json:"AbnormalType" xml:"AbnormalType"`
-	InconsistentType      string `json:"InconsistentType" xml:"InconsistentType"`
-	ConfictKey            string `json:"ConfictKey" xml:"ConfictKey"`
-	KeyType               string `json:"KeyType" xml:"KeyType"`
-	Status                string `json:"Status" xml:"Status"`
-	DatabaseName          string `json:"DatabaseName" xml:"DatabaseName"`
-	ReplicaId             string `json:"ReplicaId" xml:"ReplicaId"`
-	DetailInfo            string `json:"DetailInfo" xml:"DetailInfo"`
+	InternetIP            string         `json:"InternetIP" xml:"InternetIP"`
+	ConfictReason         string         `json:"ConfictReason" xml:"ConfictReason"`
+	SourceDetail          string         `json:"SourceDetail" xml:"SourceDetail"`
+	InconsistentFields    string         `json:"InconsistentFields" xml:"InconsistentFields"`
+	InstanceIdA           string         `json:"InstanceIdA" xml:"InstanceIdA"`
+	ConflictGtid          string         `json:"ConflictGtid" xml:"ConflictGtid"`
+	DestinationDetail     string         `json:"DestinationDetail" xml:"DestinationDetail"`
+	Key                   string         `json:"Key" xml:"Key"`
+	RegionId              string         `json:"RegionId" xml:"RegionId"`
+	InstanceNetworkType   string         `json:"InstanceNetworkType" xml:"InstanceNetworkType"`
+	RecoveryMode          string         `json:"RecoveryMode" xml:"RecoveryMode"`
+	AbnormalType          string         `json:"AbnormalType" xml:"AbnormalType"`
+	DBInstanceId          string         `json:"DBInstanceId" xml:"DBInstanceId"`
+	DatabaseName          string         `json:"DatabaseName" xml:"DatabaseName"`
+	SecurityIPList        string         `json:"SecurityIPList" xml:"SecurityIPList"`
+	DetailInfo            string         `json:"DetailInfo" xml:"DetailInfo"`
+	Schema                string         `json:"Schema" xml:"Schema"`
+	ReadWriteType         string         `json:"ReadWriteType" xml:"ReadWriteType"`
+	HasInternetIP         bool           `json:"HasInternetIP" xml:"HasInternetIP"`
+	DestinationInstanceId string         `json:"DestinationInstanceId" xml:"DestinationInstanceId"`
+	FinishTime            string         `json:"FinishTime" xml:"FinishTime"`
+	OccurTime             string         `json:"OccurTime" xml:"OccurTime"`
+	Progress              string         `json:"Progress" xml:"Progress"`
+	InstanceIdB           string         `json:"InstanceIdB" xml:"InstanceIdB"`
+	CurrentStep           string         `json:"CurrentStep" xml:"CurrentStep"`
+	SourceInstanceId      string         `json:"SourceInstanceId" xml:"SourceInstanceId"`
+	InconsistentType      string         `json:"InconsistentType" xml:"InconsistentType"`
+	ConfictKey            string         `json:"ConfictKey" xml:"ConfictKey"`
+	KeyType               string         `json:"KeyType" xml:"KeyType"`
+	Status                string         `json:"Status" xml:"Status"`
+	ReplicaId             string         `json:"ReplicaId" xml:"ReplicaId"`
+	Accounts              []AccountsItem `json:"Accounts" xml:"Accounts"`
 }

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

@@ -24,6 +24,7 @@ type KVStoreInstance struct {
 	CreateTime          string `json:"CreateTime" xml:"CreateTime"`
 	HasRenewChangeOrder string `json:"HasRenewChangeOrder" xml:"HasRenewChangeOrder"`
 	InstanceType        string `json:"InstanceType" xml:"InstanceType"`
+	DestroyTime         string `json:"DestroyTime" xml:"DestroyTime"`
 	RegionId            string `json:"RegionId" xml:"RegionId"`
 	PrivateIp           string `json:"PrivateIp" xml:"PrivateIp"`
 	InstanceId          string `json:"InstanceId" xml:"InstanceId"`

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

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

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

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

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

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

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

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

+ 24 - 0
services/r-kvstore/struct_reports_item.go

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

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

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

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

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

+ 110 - 0
services/slb/add_access_control_list_entry.go

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

+ 4 - 4
services/slb/add_backend_servers.go

@@ -76,13 +76,13 @@ func (client *Client) AddBackendServersWithCallback(request *AddBackendServersRe
 // AddBackendServersRequest is the request struct for api AddBackendServers
 type AddBackendServersRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
-	BackendServers       string           `position:"Query" name:"BackendServers"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	BackendServers       string           `position:"Query" name:"BackendServers"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 4 - 4
services/slb/add_listener_white_list_item.go

@@ -76,14 +76,14 @@ func (client *Client) AddListenerWhiteListItemWithCallback(request *AddListenerW
 // AddListenerWhiteListItemRequest is the request struct for api AddListenerWhiteListItem
 type AddListenerWhiteListItemRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	SourceItems          string           `position:"Query" name:"SourceItems"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 4 - 4
services/slb/add_tags.go

@@ -76,12 +76,12 @@ func (client *Client) AddTagsWithCallback(request *AddTagsRequest, callback func
 // AddTagsRequest is the request struct for api AddTags
 type AddTagsRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 5 - 5
services/slb/add_v_server_group_backend_servers.go

@@ -76,14 +76,14 @@ func (client *Client) AddVServerGroupBackendServersWithCallback(request *AddVSer
 // AddVServerGroupBackendServersRequest is the request struct for api AddVServerGroupBackendServers
 type AddVServerGroupBackendServersRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	AccessKeyId          string           `position:"Query" name:"access_key_id"`
-	Tags                 string           `position:"Query" name:"Tags"`
 	VServerGroupId       string           `position:"Query" name:"VServerGroupId"`
+	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"`
 	BackendServers       string           `position:"Query" name:"BackendServers"`
+	Tags                 string           `position:"Query" name:"Tags"`
 }
 
 // AddVServerGroupBackendServersResponse is the response struct for api AddVServerGroupBackendServers

+ 111 - 0
services/slb/create_access_control_list.go

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

+ 114 - 0
services/slb/create_domain_extension.go

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

+ 16 - 14
services/slb/create_load_balancer.go

@@ -76,28 +76,29 @@ func (client *Client) CreateLoadBalancerWithCallback(request *CreateLoadBalancer
 // CreateLoadBalancerRequest is the request struct for api CreateLoadBalancer
 type CreateLoadBalancerRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	AddressType          string           `position:"Query" name:"AddressType"`
-	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
-	Bandwidth            requests.Integer `position:"Query" name:"Bandwidth"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
-	LoadBalancerName     string           `position:"Query" name:"LoadBalancerName"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	VSwitchId            string           `position:"Query" name:"VSwitchId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	AddressIPVersion     string           `position:"Query" name:"AddressIPVersion"`
 	MasterZoneId         string           `position:"Query" name:"MasterZoneId"`
+	Duration             requests.Integer `position:"Query" name:"Duration"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	LoadBalancerName     string           `position:"Query" name:"LoadBalancerName"`
+	AddressType          string           `position:"Query" name:"AddressType"`
 	SlaveZoneId          string           `position:"Query" name:"SlaveZoneId"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	LoadBalancerSpec     string           `position:"Query" name:"LoadBalancerSpec"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	Bandwidth            requests.Integer `position:"Query" name:"Bandwidth"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
+	VSwitchId            string           `position:"Query" name:"VSwitchId"`
 	EnableVpcVipFlow     string           `position:"Query" name:"EnableVpcVipFlow"`
-	LoadBalancerSpec     string           `position:"Query" name:"LoadBalancerSpec"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
+	VpcId                string           `position:"Query" name:"VpcId"`
 	PayType              string           `position:"Query" name:"PayType"`
 	PricingCycle         string           `position:"Query" name:"PricingCycle"`
-	Duration             requests.Integer `position:"Query" name:"Duration"`
-	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
 }
 
 // CreateLoadBalancerResponse is the response struct for api CreateLoadBalancer
@@ -112,6 +113,7 @@ type CreateLoadBalancerResponse struct {
 	VSwitchId        string `json:"VSwitchId" xml:"VSwitchId"`
 	NetworkType      string `json:"NetworkType" xml:"NetworkType"`
 	OrderId          int    `json:"OrderId" xml:"OrderId"`
+	AddressIPVersion string `json:"AddressIPVersion" xml:"AddressIPVersion"`
 }
 
 // CreateCreateLoadBalancerRequest creates a request to invoke CreateLoadBalancer API

+ 30 - 21
services/slb/create_load_balancer_http_listener.go

@@ -76,37 +76,46 @@ func (client *Client) CreateLoadBalancerHTTPListenerWithCallback(request *Create
 // CreateLoadBalancerHTTPListenerRequest is the request struct for api CreateLoadBalancerHTTPListener
 type CreateLoadBalancerHTTPListenerRequest struct {
 	*requests.RpcRequest
-	OwnerId                requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId            string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId         string           `position:"Query" name:"LoadBalancerId"`
-	Bandwidth              requests.Integer `position:"Query" name:"Bandwidth"`
-	ListenerPort           requests.Integer `position:"Query" name:"ListenerPort"`
-	BackendServerPort      requests.Integer `position:"Query" name:"BackendServerPort"`
+	HealthCheckTimeout     requests.Integer `position:"Query" name:"HealthCheckTimeout"`
+	ListenerForward        string           `position:"Query" name:"ListenerForward"`
 	XForwardedFor          string           `position:"Query" name:"XForwardedFor"`
+	HealthCheckURI         string           `position:"Query" name:"HealthCheckURI"`
+	Description            string           `position:"Query" name:"Description"`
+	UnhealthyThreshold     requests.Integer `position:"Query" name:"UnhealthyThreshold"`
+	HealthyThreshold       requests.Integer `position:"Query" name:"HealthyThreshold"`
+	AclStatus              string           `position:"Query" name:"AclStatus"`
 	Scheduler              string           `position:"Query" name:"Scheduler"`
-	StickySession          string           `position:"Query" name:"StickySession"`
-	StickySessionType      string           `position:"Query" name:"StickySessionType"`
+	AclType                string           `position:"Query" name:"AclType"`
+	HealthCheck            string           `position:"Query" name:"HealthCheck"`
+	ForwardPort            requests.Integer `position:"Query" name:"ForwardPort"`
+	MaxConnection          requests.Integer `position:"Query" name:"MaxConnection"`
 	CookieTimeout          requests.Integer `position:"Query" name:"CookieTimeout"`
+	StickySessionType      string           `position:"Query" name:"StickySessionType"`
+	VpcIds                 string           `position:"Query" name:"VpcIds"`
+	VServerGroupId         string           `position:"Query" name:"VServerGroupId"`
+	AclId                  string           `position:"Query" name:"AclId"`
+	ListenerPort           requests.Integer `position:"Query" name:"ListenerPort"`
 	Cookie                 string           `position:"Query" name:"Cookie"`
-	HealthCheck            string           `position:"Query" name:"HealthCheck"`
+	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
+	Bandwidth              requests.Integer `position:"Query" name:"Bandwidth"`
+	StickySession          string           `position:"Query" name:"StickySession"`
 	HealthCheckDomain      string           `position:"Query" name:"HealthCheckDomain"`
-	HealthCheckURI         string           `position:"Query" name:"HealthCheckURI"`
-	HealthyThreshold       requests.Integer `position:"Query" name:"HealthyThreshold"`
-	UnhealthyThreshold     requests.Integer `position:"Query" name:"UnhealthyThreshold"`
-	HealthCheckTimeout     requests.Integer `position:"Query" name:"HealthCheckTimeout"`
-	HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
-	HealthCheckInterval    requests.Integer `position:"Query" name:"HealthCheckInterval"`
-	HealthCheckHttpCode    string           `position:"Query" name:"HealthCheckHttpCode"`
-	MaxConnection          requests.Integer `position:"Query" name:"MaxConnection"`
+	RequestTimeout         requests.Integer `position:"Query" name:"RequestTimeout"`
 	OwnerAccount           string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId            string           `position:"Query" name:"access_key_id"`
-	VServerGroupId         string           `position:"Query" name:"VServerGroupId"`
+	Gzip                   string           `position:"Query" name:"Gzip"`
+	OwnerId                requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                   string           `position:"Query" name:"Tags"`
+	IdleTimeout            requests.Integer `position:"Query" name:"IdleTimeout"`
+	LoadBalancerId         string           `position:"Query" name:"LoadBalancerId"`
 	XForwardedForSLBIP     string           `position:"Query" name:"XForwardedFor_SLBIP"`
-	XForwardedForSLBID     string           `position:"Query" name:"XForwardedFor_SLBID"`
+	BackendServerPort      requests.Integer `position:"Query" name:"BackendServerPort"`
+	HealthCheckInterval    requests.Integer `position:"Query" name:"HealthCheckInterval"`
 	XForwardedForProto     string           `position:"Query" name:"XForwardedFor_proto"`
-	Gzip                   string           `position:"Query" name:"Gzip"`
+	XForwardedForSLBID     string           `position:"Query" name:"XForwardedFor_SLBID"`
+	HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
+	HealthCheckHttpCode    string           `position:"Query" name:"HealthCheckHttpCode"`
 }
 
 // CreateLoadBalancerHTTPListenerResponse is the response struct for api CreateLoadBalancerHTTPListener

+ 31 - 22
services/slb/create_load_balancer_https_listener.go

@@ -76,39 +76,48 @@ func (client *Client) CreateLoadBalancerHTTPSListenerWithCallback(request *Creat
 // CreateLoadBalancerHTTPSListenerRequest is the request struct for api CreateLoadBalancerHTTPSListener
 type CreateLoadBalancerHTTPSListenerRequest struct {
 	*requests.RpcRequest
-	OwnerId                requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId            string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId         string           `position:"Query" name:"LoadBalancerId"`
-	Bandwidth              requests.Integer `position:"Query" name:"Bandwidth"`
-	ListenerPort           requests.Integer `position:"Query" name:"ListenerPort"`
-	BackendServerPort      requests.Integer `position:"Query" name:"BackendServerPort"`
+	HealthCheckTimeout     requests.Integer `position:"Query" name:"HealthCheckTimeout"`
 	XForwardedFor          string           `position:"Query" name:"XForwardedFor"`
+	HealthCheckURI         string           `position:"Query" name:"HealthCheckURI"`
+	Description            string           `position:"Query" name:"Description"`
+	UnhealthyThreshold     requests.Integer `position:"Query" name:"UnhealthyThreshold"`
+	HealthyThreshold       requests.Integer `position:"Query" name:"HealthyThreshold"`
+	AclStatus              string           `position:"Query" name:"AclStatus"`
 	Scheduler              string           `position:"Query" name:"Scheduler"`
-	StickySession          string           `position:"Query" name:"StickySession"`
-	StickySessionType      string           `position:"Query" name:"StickySessionType"`
+	AclType                string           `position:"Query" name:"AclType"`
+	HealthCheck            string           `position:"Query" name:"HealthCheck"`
+	MaxConnection          requests.Integer `position:"Query" name:"MaxConnection"`
+	EnableHttp2            string           `position:"Query" name:"EnableHttp2"`
 	CookieTimeout          requests.Integer `position:"Query" name:"CookieTimeout"`
+	StickySessionType      string           `position:"Query" name:"StickySessionType"`
+	VpcIds                 string           `position:"Query" name:"VpcIds"`
+	VServerGroupId         string           `position:"Query" name:"VServerGroupId"`
+	AclId                  string           `position:"Query" name:"AclId"`
+	ListenerPort           requests.Integer `position:"Query" name:"ListenerPort"`
 	Cookie                 string           `position:"Query" name:"Cookie"`
-	HealthCheck            string           `position:"Query" name:"HealthCheck"`
+	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
+	Bandwidth              requests.Integer `position:"Query" name:"Bandwidth"`
+	StickySession          string           `position:"Query" name:"StickySession"`
 	HealthCheckDomain      string           `position:"Query" name:"HealthCheckDomain"`
-	HealthCheckURI         string           `position:"Query" name:"HealthCheckURI"`
-	HealthyThreshold       requests.Integer `position:"Query" name:"HealthyThreshold"`
-	UnhealthyThreshold     requests.Integer `position:"Query" name:"UnhealthyThreshold"`
-	HealthCheckTimeout     requests.Integer `position:"Query" name:"HealthCheckTimeout"`
-	HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
-	HealthCheckInterval    requests.Integer `position:"Query" name:"HealthCheckInterval"`
-	HealthCheckHttpCode    string           `position:"Query" name:"HealthCheckHttpCode"`
-	ServerCertificateId    string           `position:"Query" name:"ServerCertificateId"`
-	MaxConnection          requests.Integer `position:"Query" name:"MaxConnection"`
+	RequestTimeout         requests.Integer `position:"Query" name:"RequestTimeout"`
 	OwnerAccount           string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId            string           `position:"Query" name:"access_key_id"`
-	VServerGroupId         string           `position:"Query" name:"VServerGroupId"`
+	Gzip                   string           `position:"Query" name:"Gzip"`
+	TLSCipherPolicy        string           `position:"Query" name:"TLSCipherPolicy"`
+	OwnerId                requests.Integer `position:"Query" name:"OwnerId"`
+	ServerCertificateId    string           `position:"Query" name:"ServerCertificateId"`
 	CACertificateId        string           `position:"Query" name:"CACertificateId"`
 	Tags                   string           `position:"Query" name:"Tags"`
+	IdleTimeout            requests.Integer `position:"Query" name:"IdleTimeout"`
+	LoadBalancerId         string           `position:"Query" name:"LoadBalancerId"`
 	XForwardedForSLBIP     string           `position:"Query" name:"XForwardedFor_SLBIP"`
-	XForwardedForSLBID     string           `position:"Query" name:"XForwardedFor_SLBID"`
+	BackendServerPort      requests.Integer `position:"Query" name:"BackendServerPort"`
+	HealthCheckInterval    requests.Integer `position:"Query" name:"HealthCheckInterval"`
 	XForwardedForProto     string           `position:"Query" name:"XForwardedFor_proto"`
-	Gzip                   string           `position:"Query" name:"Gzip"`
+	XForwardedForSLBID     string           `position:"Query" name:"XForwardedFor_SLBID"`
+	HealthCheckConnectPort requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
+	HealthCheckHttpCode    string           `position:"Query" name:"HealthCheckHttpCode"`
 }
 
 // CreateLoadBalancerHTTPSListenerResponse is the response struct for api CreateLoadBalancerHTTPSListener

+ 24 - 19
services/slb/create_load_balancer_tcp_listener.go

@@ -76,31 +76,36 @@ func (client *Client) CreateLoadBalancerTCPListenerWithCallback(request *CreateL
 // CreateLoadBalancerTCPListenerRequest is the request struct for api CreateLoadBalancerTCPListener
 type CreateLoadBalancerTCPListenerRequest struct {
 	*requests.RpcRequest
-	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId               string           `position:"Query" name:"access_key_id"`
+	HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
 	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId            string           `position:"Query" name:"LoadBalancerId"`
-	ListenerPort              requests.Integer `position:"Query" name:"ListenerPort"`
-	BackendServerPort         requests.Integer `position:"Query" name:"BackendServerPort"`
-	Bandwidth                 requests.Integer `position:"Query" name:"Bandwidth"`
+	HealthCheckURI            string           `position:"Query" name:"HealthCheckURI"`
+	Description               string           `position:"Query" name:"Description"`
+	UnhealthyThreshold        requests.Integer `position:"Query" name:"UnhealthyThreshold"`
+	HealthyThreshold          requests.Integer `position:"Query" name:"HealthyThreshold"`
+	AclStatus                 string           `position:"Query" name:"AclStatus"`
 	Scheduler                 string           `position:"Query" name:"Scheduler"`
-	PersistenceTimeout        requests.Integer `position:"Query" name:"PersistenceTimeout"`
+	AclType                   string           `position:"Query" name:"AclType"`
 	EstablishedTimeout        requests.Integer `position:"Query" name:"EstablishedTimeout"`
-	HealthyThreshold          requests.Integer `position:"Query" name:"HealthyThreshold"`
-	UnhealthyThreshold        requests.Integer `position:"Query" name:"UnhealthyThreshold"`
-	HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
-	HealthCheckConnectPort    requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
-	HealthCheckInterval       requests.Integer `position:"Query" name:"healthCheckInterval"`
-	HealthCheckDomain         string           `position:"Query" name:"HealthCheckDomain"`
-	HealthCheckURI            string           `position:"Query" name:"HealthCheckURI"`
-	HealthCheckHttpCode       string           `position:"Query" name:"HealthCheckHttpCode"`
-	HealthCheckType           string           `position:"Query" name:"HealthCheckType"`
 	MaxConnection             requests.Integer `position:"Query" name:"MaxConnection"`
-	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId               string           `position:"Query" name:"access_key_id"`
+	PersistenceTimeout        requests.Integer `position:"Query" name:"PersistenceTimeout"`
+	VpcIds                    string           `position:"Query" name:"VpcIds"`
 	VServerGroupId            string           `position:"Query" name:"VServerGroupId"`
-	MasterSlaveServerGroupId  string           `position:"Query" name:"MasterSlaveServerGroupId"`
+	AclId                     string           `position:"Query" name:"AclId"`
+	ListenerPort              requests.Integer `position:"Query" name:"ListenerPort"`
+	HealthCheckType           string           `position:"Query" name:"HealthCheckType"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	Bandwidth                 requests.Integer `position:"Query" name:"Bandwidth"`
+	HealthCheckDomain         string           `position:"Query" name:"HealthCheckDomain"`
+	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                      string           `position:"Query" name:"Tags"`
+	LoadBalancerId            string           `position:"Query" name:"LoadBalancerId"`
+	MasterSlaveServerGroupId  string           `position:"Query" name:"MasterSlaveServerGroupId"`
+	BackendServerPort         requests.Integer `position:"Query" name:"BackendServerPort"`
+	HealthCheckInterval       requests.Integer `position:"Query" name:"healthCheckInterval"`
+	HealthCheckConnectPort    requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
+	HealthCheckHttpCode       string           `position:"Query" name:"HealthCheckHttpCode"`
 }
 
 // CreateLoadBalancerTCPListenerResponse is the response struct for api CreateLoadBalancerTCPListener

+ 22 - 17
services/slb/create_load_balancer_udp_listener.go

@@ -76,28 +76,33 @@ func (client *Client) CreateLoadBalancerUDPListenerWithCallback(request *CreateL
 // CreateLoadBalancerUDPListenerRequest is the request struct for api CreateLoadBalancerUDPListener
 type CreateLoadBalancerUDPListenerRequest struct {
 	*requests.RpcRequest
-	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId               string           `position:"Query" name:"access_key_id"`
+	HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
 	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId            string           `position:"Query" name:"LoadBalancerId"`
-	ListenerPort              requests.Integer `position:"Query" name:"ListenerPort"`
-	BackendServerPort         requests.Integer `position:"Query" name:"BackendServerPort"`
-	Bandwidth                 requests.Integer `position:"Query" name:"Bandwidth"`
-	Scheduler                 string           `position:"Query" name:"Scheduler"`
-	PersistenceTimeout        requests.Integer `position:"Query" name:"PersistenceTimeout"`
-	HealthyThreshold          requests.Integer `position:"Query" name:"HealthyThreshold"`
+	Description               string           `position:"Query" name:"Description"`
 	UnhealthyThreshold        requests.Integer `position:"Query" name:"UnhealthyThreshold"`
-	HealthCheckConnectTimeout requests.Integer `position:"Query" name:"HealthCheckConnectTimeout"`
-	HealthCheckConnectPort    requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
-	HealthCheckInterval       requests.Integer `position:"Query" name:"healthCheckInterval"`
-	HealthCheckReq            string           `position:"Query" name:"healthCheckReq"`
-	HealthCheckExp            string           `position:"Query" name:"healthCheckExp"`
+	HealthyThreshold          requests.Integer `position:"Query" name:"HealthyThreshold"`
+	AclStatus                 string           `position:"Query" name:"AclStatus"`
+	Scheduler                 string           `position:"Query" name:"Scheduler"`
+	AclType                   string           `position:"Query" name:"AclType"`
 	MaxConnection             requests.Integer `position:"Query" name:"MaxConnection"`
-	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId               string           `position:"Query" name:"access_key_id"`
+	PersistenceTimeout        requests.Integer `position:"Query" name:"PersistenceTimeout"`
+	VpcIds                    string           `position:"Query" name:"VpcIds"`
 	VServerGroupId            string           `position:"Query" name:"VServerGroupId"`
-	MasterSlaveServerGroupId  string           `position:"Query" name:"MasterSlaveServerGroupId"`
+	AclId                     string           `position:"Query" name:"AclId"`
+	ListenerPort              requests.Integer `position:"Query" name:"ListenerPort"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	Bandwidth                 requests.Integer `position:"Query" name:"Bandwidth"`
+	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                      string           `position:"Query" name:"Tags"`
+	LoadBalancerId            string           `position:"Query" name:"LoadBalancerId"`
+	MasterSlaveServerGroupId  string           `position:"Query" name:"MasterSlaveServerGroupId"`
+	HealthCheckReq            string           `position:"Query" name:"healthCheckReq"`
+	BackendServerPort         requests.Integer `position:"Query" name:"BackendServerPort"`
+	HealthCheckInterval       requests.Integer `position:"Query" name:"healthCheckInterval"`
+	HealthCheckExp            string           `position:"Query" name:"healthCheckExp"`
+	HealthCheckConnectPort    requests.Integer `position:"Query" name:"HealthCheckConnectPort"`
 }
 
 // CreateLoadBalancerUDPListenerResponse is the response struct for api CreateLoadBalancerUDPListener

+ 6 - 6
services/slb/create_master_slave_server_group.go

@@ -76,15 +76,15 @@ func (client *Client) CreateMasterSlaveServerGroupWithCallback(request *CreateMa
 // CreateMasterSlaveServerGroupRequest is the request struct for api CreateMasterSlaveServerGroup
 type CreateMasterSlaveServerGroupRequest struct {
 	*requests.RpcRequest
-	OwnerId                    requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount       string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId            requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	OwnerAccount               string           `position:"Query" name:"OwnerAccount"`
 	AccessKeyId                string           `position:"Query" name:"access_key_id"`
-	Tags                       string           `position:"Query" name:"Tags"`
+	ResourceOwnerId            requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	MasterSlaveBackendServers  string           `position:"Query" name:"MasterSlaveBackendServers"`
 	LoadBalancerId             string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount       string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount               string           `position:"Query" name:"OwnerAccount"`
 	MasterSlaveServerGroupName string           `position:"Query" name:"MasterSlaveServerGroupName"`
-	MasterSlaveBackendServers  string           `position:"Query" name:"MasterSlaveBackendServers"`
+	OwnerId                    requests.Integer `position:"Query" name:"OwnerId"`
+	Tags                       string           `position:"Query" name:"Tags"`
 }
 
 // CreateMasterSlaveServerGroupResponse is the response struct for api CreateMasterSlaveServerGroup

+ 6 - 6
services/slb/create_master_slave_v_server_group.go

@@ -76,15 +76,15 @@ func (client *Client) CreateMasterSlaveVServerGroupWithCallback(request *CreateM
 // CreateMasterSlaveVServerGroupRequest is the request struct for api CreateMasterSlaveVServerGroup
 type CreateMasterSlaveVServerGroupRequest struct {
 	*requests.RpcRequest
-	OwnerId                     requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount        string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId             requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	OwnerAccount                string           `position:"Query" name:"OwnerAccount"`
 	AccessKeyId                 string           `position:"Query" name:"access_key_id"`
-	Tags                        string           `position:"Query" name:"Tags"`
+	ResourceOwnerId             requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	MasterSlaveBackendServers   string           `position:"Query" name:"MasterSlaveBackendServers"`
 	LoadBalancerId              string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount        string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount                string           `position:"Query" name:"OwnerAccount"`
 	MasterSlaveVServerGroupName string           `position:"Query" name:"MasterSlaveVServerGroupName"`
-	MasterSlaveBackendServers   string           `position:"Query" name:"MasterSlaveBackendServers"`
+	OwnerId                     requests.Integer `position:"Query" name:"OwnerId"`
+	Tags                        string           `position:"Query" name:"Tags"`
 }
 
 // CreateMasterSlaveVServerGroupResponse is the response struct for api CreateMasterSlaveVServerGroup

+ 6 - 6
services/slb/create_rules.go

@@ -76,15 +76,15 @@ func (client *Client) CreateRulesWithCallback(request *CreateRulesRequest, callb
 // CreateRulesRequest is the request struct for api CreateRules
 type CreateRulesRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	AccessKeyId          string           `position:"Query" name:"access_key_id"`
-	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	RuleList             string           `position:"Query" name:"RuleList"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Tags                 string           `position:"Query" name:"Tags"`
 }
 
 // CreateRulesResponse is the response struct for api CreateRules

+ 5 - 5
services/slb/create_v_server_group.go

@@ -76,15 +76,15 @@ func (client *Client) CreateVServerGroupWithCallback(request *CreateVServerGroup
 // CreateVServerGroupRequest is the request struct for api CreateVServerGroup
 type CreateVServerGroupRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	BackendServers       string           `position:"Query" name:"BackendServers"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	VServerGroupName     string           `position:"Query" name:"VServerGroupName"`
-	BackendServers       string           `position:"Query" name:"BackendServers"`
 }
 
 // CreateVServerGroupResponse is the response struct for api CreateVServerGroup

+ 109 - 0
services/slb/delete_access_control_list.go

@@ -0,0 +1,109 @@
+package slb
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteAccessControlList invokes the slb.DeleteAccessControlList API synchronously
+// api document: https://help.aliyun.com/api/slb/deleteaccesscontrollist.html
+func (client *Client) DeleteAccessControlList(request *DeleteAccessControlListRequest) (response *DeleteAccessControlListResponse, err error) {
+	response = CreateDeleteAccessControlListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteAccessControlListWithChan invokes the slb.DeleteAccessControlList API asynchronously
+// api document: https://help.aliyun.com/api/slb/deleteaccesscontrollist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAccessControlListWithChan(request *DeleteAccessControlListRequest) (<-chan *DeleteAccessControlListResponse, <-chan error) {
+	responseChan := make(chan *DeleteAccessControlListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteAccessControlList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteAccessControlListWithCallback invokes the slb.DeleteAccessControlList API asynchronously
+// api document: https://help.aliyun.com/api/slb/deleteaccesscontrollist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAccessControlListWithCallback(request *DeleteAccessControlListRequest, callback func(response *DeleteAccessControlListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteAccessControlListResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteAccessControlList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteAccessControlListRequest is the request struct for api DeleteAccessControlList
+type DeleteAccessControlListRequest struct {
+	*requests.RpcRequest
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	AclId                string           `position:"Query" name:"AclId"`
+	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"`
+	Tags                 string           `position:"Query" name:"Tags"`
+}
+
+// DeleteAccessControlListResponse is the response struct for api DeleteAccessControlList
+type DeleteAccessControlListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteAccessControlListRequest creates a request to invoke DeleteAccessControlList API
+func CreateDeleteAccessControlListRequest() (request *DeleteAccessControlListRequest) {
+	request = &DeleteAccessControlListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Slb", "2014-05-15", "DeleteAccessControlList", "slb", "openAPI")
+	return
+}
+
+// CreateDeleteAccessControlListResponse creates a response to parse from DeleteAccessControlList response
+func CreateDeleteAccessControlListResponse() (response *DeleteAccessControlListResponse) {
+	response = &DeleteAccessControlListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/slb/delete_ca_certificate.go

@@ -76,11 +76,11 @@ func (client *Client) DeleteCACertificateWithCallback(request *DeleteCACertifica
 // DeleteCACertificateRequest is the request struct for api DeleteCACertificate
 type DeleteCACertificateRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	CACertificateId      string           `position:"Query" name:"CACertificateId"`
 }
 

+ 109 - 0
services/slb/delete_domain_extension.go

@@ -0,0 +1,109 @@
+package slb
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteDomainExtension invokes the slb.DeleteDomainExtension API synchronously
+// api document: https://help.aliyun.com/api/slb/deletedomainextension.html
+func (client *Client) DeleteDomainExtension(request *DeleteDomainExtensionRequest) (response *DeleteDomainExtensionResponse, err error) {
+	response = CreateDeleteDomainExtensionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDomainExtensionWithChan invokes the slb.DeleteDomainExtension API asynchronously
+// api document: https://help.aliyun.com/api/slb/deletedomainextension.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDomainExtensionWithChan(request *DeleteDomainExtensionRequest) (<-chan *DeleteDomainExtensionResponse, <-chan error) {
+	responseChan := make(chan *DeleteDomainExtensionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDomainExtension(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDomainExtensionWithCallback invokes the slb.DeleteDomainExtension API asynchronously
+// api document: https://help.aliyun.com/api/slb/deletedomainextension.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDomainExtensionWithCallback(request *DeleteDomainExtensionRequest, callback func(response *DeleteDomainExtensionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDomainExtensionResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDomainExtension(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDomainExtensionRequest is the request struct for api DeleteDomainExtension
+type DeleteDomainExtensionRequest struct {
+	*requests.RpcRequest
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	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"`
+	Tags                 string           `position:"Query" name:"Tags"`
+	DomainExtensionId    string           `position:"Query" name:"DomainExtensionId"`
+}
+
+// DeleteDomainExtensionResponse is the response struct for api DeleteDomainExtension
+type DeleteDomainExtensionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDomainExtensionRequest creates a request to invoke DeleteDomainExtension API
+func CreateDeleteDomainExtensionRequest() (request *DeleteDomainExtensionRequest) {
+	request = &DeleteDomainExtensionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Slb", "2014-05-15", "DeleteDomainExtension", "slb", "openAPI")
+	return
+}
+
+// CreateDeleteDomainExtensionResponse creates a response to parse from DeleteDomainExtension response
+func CreateDeleteDomainExtensionResponse() (response *DeleteDomainExtensionResponse) {
+	response = &DeleteDomainExtensionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 3
services/slb/delete_load_balancer.go

@@ -76,12 +76,12 @@ func (client *Client) DeleteLoadBalancerWithCallback(request *DeleteLoadBalancer
 // DeleteLoadBalancerRequest is the request struct for api DeleteLoadBalancer
 type DeleteLoadBalancerRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 4 - 4
services/slb/delete_load_balancer_listener.go

@@ -76,13 +76,13 @@ func (client *Client) DeleteLoadBalancerListenerWithCallback(request *DeleteLoad
 // DeleteLoadBalancerListenerRequest is the request struct for api DeleteLoadBalancerListener
 type DeleteLoadBalancerListenerRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 4 - 4
services/slb/delete_master_slave_server_group.go

@@ -76,13 +76,13 @@ func (client *Client) DeleteMasterSlaveServerGroupWithCallback(request *DeleteMa
 // DeleteMasterSlaveServerGroupRequest is the request struct for api DeleteMasterSlaveServerGroup
 type DeleteMasterSlaveServerGroupRequest struct {
 	*requests.RpcRequest
-	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId              string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	MasterSlaveServerGroupId string           `position:"Query" name:"MasterSlaveServerGroupId"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount             string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId              string           `position:"Query" name:"access_key_id"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                     string           `position:"Query" name:"Tags"`
-	MasterSlaveServerGroupId string           `position:"Query" name:"MasterSlaveServerGroupId"`
 }
 
 // DeleteMasterSlaveServerGroupResponse is the response struct for api DeleteMasterSlaveServerGroup

+ 4 - 4
services/slb/delete_master_slave_v_server_group.go

@@ -76,13 +76,13 @@ func (client *Client) DeleteMasterSlaveVServerGroupWithCallback(request *DeleteM
 // DeleteMasterSlaveVServerGroupRequest is the request struct for api DeleteMasterSlaveVServerGroup
 type DeleteMasterSlaveVServerGroupRequest struct {
 	*requests.RpcRequest
-	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId               string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	MasterSlaveVServerGroupId string           `position:"Query" name:"MasterSlaveVServerGroupId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId               string           `position:"Query" name:"access_key_id"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                      string           `position:"Query" name:"Tags"`
-	MasterSlaveVServerGroupId string           `position:"Query" name:"MasterSlaveVServerGroupId"`
 }
 
 // DeleteMasterSlaveVServerGroupResponse is the response struct for api DeleteMasterSlaveVServerGroup

+ 4 - 4
services/slb/delete_rules.go

@@ -76,13 +76,13 @@ func (client *Client) DeleteRulesWithCallback(request *DeleteRulesRequest, callb
 // DeleteRulesRequest is the request struct for api DeleteRules
 type DeleteRulesRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	RuleIds              string           `position:"Query" name:"RuleIds"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	RuleIds              string           `position:"Query" name:"RuleIds"`
 }
 
 // DeleteRulesResponse is the response struct for api DeleteRules

+ 4 - 4
services/slb/delete_server_certificate.go

@@ -76,12 +76,12 @@ func (client *Client) DeleteServerCertificateWithCallback(request *DeleteServerC
 // DeleteServerCertificateRequest is the request struct for api DeleteServerCertificate
 type DeleteServerCertificateRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ServerCertificateId  string           `position:"Query" name:"ServerCertificateId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ServerCertificateId  string           `position:"Query" name:"ServerCertificateId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 4 - 4
services/slb/delete_v_server_group.go

@@ -76,13 +76,13 @@ func (client *Client) DeleteVServerGroupWithCallback(request *DeleteVServerGroup
 // DeleteVServerGroupRequest is the request struct for api DeleteVServerGroup
 type DeleteVServerGroupRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	VServerGroupId       string           `position:"Query" name:"VServerGroupId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	VServerGroupId       string           `position:"Query" name:"VServerGroupId"`
 }
 
 // DeleteVServerGroupResponse is the response struct for api DeleteVServerGroup

+ 115 - 0
services/slb/describe_access_control_list_attribute.go

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

+ 113 - 0
services/slb/describe_access_control_lists.go

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

+ 4 - 4
services/slb/describe_ca_certificates.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeCACertificatesWithCallback(request *DescribeCACert
 // DescribeCACertificatesRequest is the request struct for api DescribeCACertificates
 type DescribeCACertificatesRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	CACertificateId      string           `position:"Query" name:"CACertificateId"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 }
 
 // DescribeCACertificatesResponse is the response struct for api DescribeCACertificates

+ 112 - 0
services/slb/describe_domain_extensions.go

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

+ 4 - 4
services/slb/describe_health_status.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeHealthStatusWithCallback(request *DescribeHealthSt
 // DescribeHealthStatusRequest is the request struct for api DescribeHealthStatus
 type DescribeHealthStatusRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 4 - 4
services/slb/describe_listener_access_control_attribute.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeListenerAccessControlAttributeWithCallback(request
 // DescribeListenerAccessControlAttributeRequest is the request struct for api DescribeListenerAccessControlAttribute
 type DescribeListenerAccessControlAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 8 - 3
services/slb/describe_load_balancer_attribute.go

@@ -76,12 +76,12 @@ func (client *Client) DescribeLoadBalancerAttributeWithCallback(request *Describ
 // DescribeLoadBalancerAttributeRequest is the request struct for api DescribeLoadBalancerAttribute
 type DescribeLoadBalancerAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 
@@ -111,6 +111,11 @@ type DescribeLoadBalancerAttributeResponse struct {
 	PayType                  string                                        `json:"PayType" xml:"PayType"`
 	MasterZoneId             string                                        `json:"MasterZoneId" xml:"MasterZoneId"`
 	SlaveZoneId              string                                        `json:"SlaveZoneId" xml:"SlaveZoneId"`
+	AddressIPVersion         string                                        `json:"AddressIPVersion" xml:"AddressIPVersion"`
+	CloudType                string                                        `json:"CloudType" xml:"CloudType"`
+	RenewalDuration          int                                           `json:"RenewalDuration" xml:"RenewalDuration"`
+	RenewalStatus            string                                        `json:"RenewalStatus" xml:"RenewalStatus"`
+	RenewalCycUnit           string                                        `json:"RenewalCycUnit" xml:"RenewalCycUnit"`
 	ListenerPorts            ListenerPorts                                 `json:"ListenerPorts" xml:"ListenerPorts"`
 	ListenerPortsAndProtocal ListenerPortsAndProtocal                      `json:"ListenerPortsAndProtocal" xml:"ListenerPortsAndProtocal"`
 	ListenerPortsAndProtocol ListenerPortsAndProtocol                      `json:"ListenerPortsAndProtocol" xml:"ListenerPortsAndProtocol"`

+ 4 - 4
services/slb/describe_load_balancer_auto_release_time.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeLoadBalancerAutoReleaseTimeWithCallback(request *D
 // DescribeLoadBalancerAutoReleaseTimeRequest is the request struct for api DescribeLoadBalancerAutoReleaseTime
 type DescribeLoadBalancerAutoReleaseTimeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 }
 
 // DescribeLoadBalancerAutoReleaseTimeResponse is the response struct for api DescribeLoadBalancerAutoReleaseTime

+ 41 - 31
services/slb/describe_load_balancer_http_listener_attribute.go

@@ -76,46 +76,56 @@ func (client *Client) DescribeLoadBalancerHTTPListenerAttributeWithCallback(requ
 // DescribeLoadBalancerHTTPListenerAttributeRequest is the request struct for api DescribeLoadBalancerHTTPListenerAttribute
 type DescribeLoadBalancerHTTPListenerAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 
 // DescribeLoadBalancerHTTPListenerAttributeResponse is the response struct for api DescribeLoadBalancerHTTPListenerAttribute
 type DescribeLoadBalancerHTTPListenerAttributeResponse struct {
 	*responses.BaseResponse
-	RequestId              string `json:"RequestId" xml:"RequestId"`
-	ListenerPort           int    `json:"ListenerPort" xml:"ListenerPort"`
-	BackendServerPort      int    `json:"BackendServerPort" xml:"BackendServerPort"`
-	Bandwidth              int    `json:"Bandwidth" xml:"Bandwidth"`
-	Status                 string `json:"Status" xml:"Status"`
-	SecurityStatus         string `json:"SecurityStatus" xml:"SecurityStatus"`
-	XForwardedFor          string `json:"XForwardedFor" xml:"XForwardedFor"`
-	Scheduler              string `json:"Scheduler" xml:"Scheduler"`
-	StickySession          string `json:"StickySession" xml:"StickySession"`
-	StickySessionType      string `json:"StickySessionType" xml:"StickySessionType"`
-	CookieTimeout          int    `json:"CookieTimeout" xml:"CookieTimeout"`
-	Cookie                 string `json:"Cookie" xml:"Cookie"`
-	HealthCheck            string `json:"HealthCheck" xml:"HealthCheck"`
-	HealthCheckDomain      string `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
-	HealthCheckURI         string `json:"HealthCheckURI" xml:"HealthCheckURI"`
-	HealthyThreshold       int    `json:"HealthyThreshold" xml:"HealthyThreshold"`
-	UnhealthyThreshold     int    `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
-	HealthCheckTimeout     int    `json:"HealthCheckTimeout" xml:"HealthCheckTimeout"`
-	HealthCheckInterval    int    `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
-	HealthCheckConnectPort int    `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
-	HealthCheckHttpCode    string `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
-	MaxConnection          int    `json:"MaxConnection" xml:"MaxConnection"`
-	VServerGroupId         string `json:"VServerGroupId" xml:"VServerGroupId"`
-	Gzip                   string `json:"Gzip" xml:"Gzip"`
-	XForwardedForSLBIP     string `json:"XForwardedFor_SLBIP" xml:"XForwardedFor_SLBIP"`
-	XForwardedForSLBID     string `json:"XForwardedFor_SLBID" xml:"XForwardedFor_SLBID"`
-	XForwardedForProto     string `json:"XForwardedFor_proto" xml:"XForwardedFor_proto"`
+	RequestId              string                                           `json:"RequestId" xml:"RequestId"`
+	ListenerPort           int                                              `json:"ListenerPort" xml:"ListenerPort"`
+	BackendServerPort      int                                              `json:"BackendServerPort" xml:"BackendServerPort"`
+	Bandwidth              int                                              `json:"Bandwidth" xml:"Bandwidth"`
+	Status                 string                                           `json:"Status" xml:"Status"`
+	SecurityStatus         string                                           `json:"SecurityStatus" xml:"SecurityStatus"`
+	XForwardedFor          string                                           `json:"XForwardedFor" xml:"XForwardedFor"`
+	Scheduler              string                                           `json:"Scheduler" xml:"Scheduler"`
+	StickySession          string                                           `json:"StickySession" xml:"StickySession"`
+	StickySessionType      string                                           `json:"StickySessionType" xml:"StickySessionType"`
+	CookieTimeout          int                                              `json:"CookieTimeout" xml:"CookieTimeout"`
+	Cookie                 string                                           `json:"Cookie" xml:"Cookie"`
+	HealthCheck            string                                           `json:"HealthCheck" xml:"HealthCheck"`
+	HealthCheckDomain      string                                           `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
+	HealthCheckURI         string                                           `json:"HealthCheckURI" xml:"HealthCheckURI"`
+	HealthyThreshold       int                                              `json:"HealthyThreshold" xml:"HealthyThreshold"`
+	UnhealthyThreshold     int                                              `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
+	HealthCheckTimeout     int                                              `json:"HealthCheckTimeout" xml:"HealthCheckTimeout"`
+	HealthCheckInterval    int                                              `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
+	HealthCheckConnectPort int                                              `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
+	HealthCheckHttpCode    string                                           `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
+	MaxConnection          int                                              `json:"MaxConnection" xml:"MaxConnection"`
+	VServerGroupId         string                                           `json:"VServerGroupId" xml:"VServerGroupId"`
+	Gzip                   string                                           `json:"Gzip" xml:"Gzip"`
+	XForwardedForSLBIP     string                                           `json:"XForwardedFor_SLBIP" xml:"XForwardedFor_SLBIP"`
+	XForwardedForSLBID     string                                           `json:"XForwardedFor_SLBID" xml:"XForwardedFor_SLBID"`
+	XForwardedForProto     string                                           `json:"XForwardedFor_proto" xml:"XForwardedFor_proto"`
+	AclId                  string                                           `json:"AclId" xml:"AclId"`
+	AclType                string                                           `json:"AclType" xml:"AclType"`
+	AclStatus              string                                           `json:"AclStatus" xml:"AclStatus"`
+	VpcIds                 string                                           `json:"VpcIds" xml:"VpcIds"`
+	ListenerForward        string                                           `json:"ListenerForward" xml:"ListenerForward"`
+	ForwardPort            int                                              `json:"ForwardPort" xml:"ForwardPort"`
+	RequestTimeout         int                                              `json:"RequestTimeout" xml:"RequestTimeout"`
+	IdleTimeout            int                                              `json:"IdleTimeout" xml:"IdleTimeout"`
+	Description            string                                           `json:"Description" xml:"Description"`
+	Rules                  RulesInDescribeLoadBalancerHTTPListenerAttribute `json:"Rules" xml:"Rules"`
 }
 
 // CreateDescribeLoadBalancerHTTPListenerAttributeRequest creates a request to invoke DescribeLoadBalancerHTTPListenerAttribute API

+ 44 - 33
services/slb/describe_load_balancer_https_listener_attribute.go

@@ -76,48 +76,59 @@ func (client *Client) DescribeLoadBalancerHTTPSListenerAttributeWithCallback(req
 // DescribeLoadBalancerHTTPSListenerAttributeRequest is the request struct for api DescribeLoadBalancerHTTPSListenerAttribute
 type DescribeLoadBalancerHTTPSListenerAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 
 // DescribeLoadBalancerHTTPSListenerAttributeResponse is the response struct for api DescribeLoadBalancerHTTPSListenerAttribute
 type DescribeLoadBalancerHTTPSListenerAttributeResponse struct {
 	*responses.BaseResponse
-	RequestId              string `json:"RequestId" xml:"RequestId"`
-	ListenerPort           int    `json:"ListenerPort" xml:"ListenerPort"`
-	BackendServerPort      int    `json:"BackendServerPort" xml:"BackendServerPort"`
-	Bandwidth              int    `json:"Bandwidth" xml:"Bandwidth"`
-	Status                 string `json:"Status" xml:"Status"`
-	SecurityStatus         string `json:"SecurityStatus" xml:"SecurityStatus"`
-	XForwardedFor          string `json:"XForwardedFor" xml:"XForwardedFor"`
-	Scheduler              string `json:"Scheduler" xml:"Scheduler"`
-	StickySession          string `json:"StickySession" xml:"StickySession"`
-	StickySessionType      string `json:"StickySessionType" xml:"StickySessionType"`
-	CookieTimeout          int    `json:"CookieTimeout" xml:"CookieTimeout"`
-	Cookie                 string `json:"Cookie" xml:"Cookie"`
-	HealthCheck            string `json:"HealthCheck" xml:"HealthCheck"`
-	HealthCheckDomain      string `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
-	HealthCheckURI         string `json:"HealthCheckURI" xml:"HealthCheckURI"`
-	HealthyThreshold       int    `json:"HealthyThreshold" xml:"HealthyThreshold"`
-	UnhealthyThreshold     int    `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
-	HealthCheckTimeout     int    `json:"HealthCheckTimeout" xml:"HealthCheckTimeout"`
-	HealthCheckInterval    int    `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
-	HealthCheckConnectPort int    `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
-	HealthCheckHttpCode    string `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
-	ServerCertificateId    string `json:"ServerCertificateId" xml:"ServerCertificateId"`
-	CACertificateId        string `json:"CACertificateId" xml:"CACertificateId"`
-	MaxConnection          int    `json:"MaxConnection" xml:"MaxConnection"`
-	VServerGroupId         string `json:"VServerGroupId" xml:"VServerGroupId"`
-	Gzip                   string `json:"Gzip" xml:"Gzip"`
-	XForwardedForSLBIP     string `json:"XForwardedFor_SLBIP" xml:"XForwardedFor_SLBIP"`
-	XForwardedForSLBID     string `json:"XForwardedFor_SLBID" xml:"XForwardedFor_SLBID"`
-	XForwardedForProto     string `json:"XForwardedFor_proto" xml:"XForwardedFor_proto"`
+	RequestId              string                                                       `json:"RequestId" xml:"RequestId"`
+	ListenerPort           int                                                          `json:"ListenerPort" xml:"ListenerPort"`
+	BackendServerPort      int                                                          `json:"BackendServerPort" xml:"BackendServerPort"`
+	Bandwidth              int                                                          `json:"Bandwidth" xml:"Bandwidth"`
+	Status                 string                                                       `json:"Status" xml:"Status"`
+	SecurityStatus         string                                                       `json:"SecurityStatus" xml:"SecurityStatus"`
+	XForwardedFor          string                                                       `json:"XForwardedFor" xml:"XForwardedFor"`
+	Scheduler              string                                                       `json:"Scheduler" xml:"Scheduler"`
+	StickySession          string                                                       `json:"StickySession" xml:"StickySession"`
+	StickySessionType      string                                                       `json:"StickySessionType" xml:"StickySessionType"`
+	CookieTimeout          int                                                          `json:"CookieTimeout" xml:"CookieTimeout"`
+	Cookie                 string                                                       `json:"Cookie" xml:"Cookie"`
+	HealthCheck            string                                                       `json:"HealthCheck" xml:"HealthCheck"`
+	HealthCheckDomain      string                                                       `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
+	HealthCheckURI         string                                                       `json:"HealthCheckURI" xml:"HealthCheckURI"`
+	HealthyThreshold       int                                                          `json:"HealthyThreshold" xml:"HealthyThreshold"`
+	UnhealthyThreshold     int                                                          `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
+	HealthCheckTimeout     int                                                          `json:"HealthCheckTimeout" xml:"HealthCheckTimeout"`
+	HealthCheckInterval    int                                                          `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
+	HealthCheckConnectPort int                                                          `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
+	HealthCheckHttpCode    string                                                       `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
+	ServerCertificateId    string                                                       `json:"ServerCertificateId" xml:"ServerCertificateId"`
+	CACertificateId        string                                                       `json:"CACertificateId" xml:"CACertificateId"`
+	MaxConnection          int                                                          `json:"MaxConnection" xml:"MaxConnection"`
+	VServerGroupId         string                                                       `json:"VServerGroupId" xml:"VServerGroupId"`
+	Gzip                   string                                                       `json:"Gzip" xml:"Gzip"`
+	XForwardedForSLBIP     string                                                       `json:"XForwardedFor_SLBIP" xml:"XForwardedFor_SLBIP"`
+	XForwardedForSLBID     string                                                       `json:"XForwardedFor_SLBID" xml:"XForwardedFor_SLBID"`
+	XForwardedForProto     string                                                       `json:"XForwardedFor_proto" xml:"XForwardedFor_proto"`
+	AclId                  string                                                       `json:"AclId" xml:"AclId"`
+	AclType                string                                                       `json:"AclType" xml:"AclType"`
+	AclStatus              string                                                       `json:"AclStatus" xml:"AclStatus"`
+	VpcIds                 string                                                       `json:"VpcIds" xml:"VpcIds"`
+	RequestTimeout         int                                                          `json:"RequestTimeout" xml:"RequestTimeout"`
+	IdleTimeout            int                                                          `json:"IdleTimeout" xml:"IdleTimeout"`
+	EnableHttp2            string                                                       `json:"EnableHttp2" xml:"EnableHttp2"`
+	TLSCipherPolicy        string                                                       `json:"TLSCipherPolicy" xml:"TLSCipherPolicy"`
+	Description            string                                                       `json:"Description" xml:"Description"`
+	Rules                  RulesInDescribeLoadBalancerHTTPSListenerAttribute            `json:"Rules" xml:"Rules"`
+	DomainExtensions       DomainExtensionsInDescribeLoadBalancerHTTPSListenerAttribute `json:"DomainExtensions" xml:"DomainExtensions"`
 }
 
 // CreateDescribeLoadBalancerHTTPSListenerAttributeRequest creates a request to invoke DescribeLoadBalancerHTTPSListenerAttribute API

+ 9 - 4
services/slb/describe_load_balancer_tcp_listener_attribute.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeLoadBalancerTCPListenerAttributeWithCallback(reque
 // DescribeLoadBalancerTCPListenerAttributeRequest is the request struct for api DescribeLoadBalancerTCPListenerAttribute
 type DescribeLoadBalancerTCPListenerAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 
@@ -111,6 +111,11 @@ type DescribeLoadBalancerTCPListenerAttributeResponse struct {
 	MaxConnection             int    `json:"MaxConnection" xml:"MaxConnection"`
 	VServerGroupId            string `json:"VServerGroupId" xml:"VServerGroupId"`
 	MasterSlaveServerGroupId  string `json:"MasterSlaveServerGroupId" xml:"MasterSlaveServerGroupId"`
+	AclId                     string `json:"AclId" xml:"AclId"`
+	AclType                   string `json:"AclType" xml:"AclType"`
+	AclStatus                 string `json:"AclStatus" xml:"AclStatus"`
+	VpcIds                    string `json:"VpcIds" xml:"VpcIds"`
+	Description               string `json:"Description" xml:"Description"`
 }
 
 // CreateDescribeLoadBalancerTCPListenerAttributeRequest creates a request to invoke DescribeLoadBalancerTCPListenerAttribute API

+ 9 - 4
services/slb/describe_load_balancer_udp_listener_attribute.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeLoadBalancerUDPListenerAttributeWithCallback(reque
 // DescribeLoadBalancerUDPListenerAttributeRequest is the request struct for api DescribeLoadBalancerUDPListenerAttribute
 type DescribeLoadBalancerUDPListenerAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 
@@ -107,6 +107,11 @@ type DescribeLoadBalancerUDPListenerAttributeResponse struct {
 	MaxConnection             int    `json:"MaxConnection" xml:"MaxConnection"`
 	VServerGroupId            string `json:"VServerGroupId" xml:"VServerGroupId"`
 	MasterSlaveServerGroupId  string `json:"MasterSlaveServerGroupId" xml:"MasterSlaveServerGroupId"`
+	AclId                     string `json:"AclId" xml:"AclId"`
+	AclType                   string `json:"AclType" xml:"AclType"`
+	AclStatus                 string `json:"AclStatus" xml:"AclStatus"`
+	VpcIds                    string `json:"VpcIds" xml:"VpcIds"`
+	Description               string `json:"Description" xml:"Description"`
 }
 
 // CreateDescribeLoadBalancerUDPListenerAttributeRequest creates a request to invoke DescribeLoadBalancerUDPListenerAttribute API

+ 18 - 15
services/slb/describe_load_balancers.go

@@ -76,28 +76,31 @@ func (client *Client) DescribeLoadBalancersWithCallback(request *DescribeLoadBal
 // DescribeLoadBalancersRequest is the request struct for api DescribeLoadBalancers
 type DescribeLoadBalancersRequest struct {
 	*requests.RpcRequest
-	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId           string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ServerId              string           `position:"Query" name:"ServerId"`
-	LoadBalancerId        string           `position:"Query" name:"LoadBalancerId"`
-	LoadBalancerName      string           `position:"Query" name:"LoadBalancerName"`
-	ServerIntranetAddress string           `position:"Query" name:"ServerIntranetAddress"`
-	AddressType           string           `position:"Query" name:"AddressType"`
-	InternetChargeType    string           `position:"Query" name:"InternetChargeType"`
-	VpcId                 string           `position:"Query" name:"VpcId"`
-	VSwitchId             string           `position:"Query" name:"VSwitchId"`
 	NetworkType           string           `position:"Query" name:"NetworkType"`
-	Address               string           `position:"Query" name:"Address"`
+	AddressIPVersion      string           `position:"Query" name:"AddressIPVersion"`
 	MasterZoneId          string           `position:"Query" name:"MasterZoneId"`
+	PageNumber            requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceGroupId       string           `position:"Query" name:"ResourceGroupId"`
+	LoadBalancerName      string           `position:"Query" name:"LoadBalancerName"`
+	PageSize              requests.Integer `position:"Query" name:"PageSize"`
+	AddressType           string           `position:"Query" name:"AddressType"`
 	SlaveZoneId           string           `position:"Query" name:"SlaveZoneId"`
+	Fuzzy                 string           `position:"Query" name:"Fuzzy"`
+	Address               string           `position:"Query" name:"Address"`
+	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId           string           `position:"Query" name:"access_key_id"`
+	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	ServerId              string           `position:"Query" name:"ServerId"`
+	LoadBalancerStatus    string           `position:"Query" name:"LoadBalancerStatus"`
 	Tags                  string           `position:"Query" name:"Tags"`
+	ServerIntranetAddress string           `position:"Query" name:"ServerIntranetAddress"`
+	VSwitchId             string           `position:"Query" name:"VSwitchId"`
+	LoadBalancerId        string           `position:"Query" name:"LoadBalancerId"`
+	InternetChargeType    string           `position:"Query" name:"InternetChargeType"`
+	VpcId                 string           `position:"Query" name:"VpcId"`
 	PayType               string           `position:"Query" name:"PayType"`
-	ResourceGroupId       string           `position:"Query" name:"ResourceGroupId"`
-	PageNumber            requests.Integer `position:"Query" name:"PageNumber"`
-	PageSize              requests.Integer `position:"Query" name:"PageSize"`
 }
 
 // DescribeLoadBalancersResponse is the response struct for api DescribeLoadBalancers

+ 4 - 4
services/slb/describe_load_balancers_related_ecs.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeLoadBalancersRelatedEcsWithCallback(request *Descr
 // DescribeLoadBalancersRelatedEcsRequest is the request struct for api DescribeLoadBalancersRelatedEcs
 type DescribeLoadBalancersRelatedEcsRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 }
 
 // DescribeLoadBalancersRelatedEcsResponse is the response struct for api DescribeLoadBalancersRelatedEcs

+ 4 - 4
services/slb/describe_master_slave_server_group_attribute.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeMasterSlaveServerGroupAttributeWithCallback(reques
 // DescribeMasterSlaveServerGroupAttributeRequest is the request struct for api DescribeMasterSlaveServerGroupAttribute
 type DescribeMasterSlaveServerGroupAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId              string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId          requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	MasterSlaveServerGroupId string           `position:"Query" name:"MasterSlaveServerGroupId"`
+	ResourceOwnerAccount     string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount             string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId              string           `position:"Query" name:"access_key_id"`
+	OwnerId                  requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                     string           `position:"Query" name:"Tags"`
-	MasterSlaveServerGroupId string           `position:"Query" name:"MasterSlaveServerGroupId"`
 }
 
 // DescribeMasterSlaveServerGroupAttributeResponse is the response struct for api DescribeMasterSlaveServerGroupAttribute

+ 5 - 4
services/slb/describe_master_slave_server_groups.go

@@ -76,13 +76,14 @@ func (client *Client) DescribeMasterSlaveServerGroupsWithCallback(request *Descr
 // DescribeMasterSlaveServerGroupsRequest is the request struct for api DescribeMasterSlaveServerGroups
 type DescribeMasterSlaveServerGroupsRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	IncludeListener      requests.Boolean `position:"Query" name:"IncludeListener"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 }
 
 // DescribeMasterSlaveServerGroupsResponse is the response struct for api DescribeMasterSlaveServerGroups

+ 4 - 4
services/slb/describe_master_slave_v_server_group_attribute.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeMasterSlaveVServerGroupAttributeWithCallback(reque
 // DescribeMasterSlaveVServerGroupAttributeRequest is the request struct for api DescribeMasterSlaveVServerGroupAttribute
 type DescribeMasterSlaveVServerGroupAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId               string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId           requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	MasterSlaveVServerGroupId string           `position:"Query" name:"MasterSlaveVServerGroupId"`
+	ResourceOwnerAccount      string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount              string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId               string           `position:"Query" name:"access_key_id"`
+	OwnerId                   requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                      string           `position:"Query" name:"Tags"`
-	MasterSlaveVServerGroupId string           `position:"Query" name:"MasterSlaveVServerGroupId"`
 }
 
 // DescribeMasterSlaveVServerGroupAttributeResponse is the response struct for api DescribeMasterSlaveVServerGroupAttribute

+ 4 - 4
services/slb/describe_master_slave_v_server_groups.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeMasterSlaveVServerGroupsWithCallback(request *Desc
 // DescribeMasterSlaveVServerGroupsRequest is the request struct for api DescribeMasterSlaveVServerGroups
 type DescribeMasterSlaveVServerGroupsRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 }
 
 // DescribeMasterSlaveVServerGroupsResponse is the response struct for api DescribeMasterSlaveVServerGroups

+ 4 - 3
services/slb/describe_regions.go

@@ -76,11 +76,12 @@ func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsReques
 // DescribeRegionsRequest is the request struct for api DescribeRegions
 type DescribeRegionsRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	AcceptLanguage       string           `position:"Query" name:"AcceptLanguage"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 26 - 11
services/slb/describe_rule_attribute.go

@@ -76,25 +76,40 @@ func (client *Client) DescribeRuleAttributeWithCallback(request *DescribeRuleAtt
 // DescribeRuleAttributeRequest is the request struct for api DescribeRuleAttribute
 type DescribeRuleAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
-	Tags                 string           `position:"Query" name:"Tags"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	RuleId               string           `position:"Query" name:"RuleId"`
+	Tags                 string           `position:"Query" name:"Tags"`
 }
 
 // DescribeRuleAttributeResponse is the response struct for api DescribeRuleAttribute
 type DescribeRuleAttributeResponse struct {
 	*responses.BaseResponse
-	RequestId      string `json:"RequestId" xml:"RequestId"`
-	RuleName       string `json:"RuleName" xml:"RuleName"`
-	LoadBalancerId string `json:"LoadBalancerId" xml:"LoadBalancerId"`
-	ListenerPort   string `json:"ListenerPort" xml:"ListenerPort"`
-	Domain         string `json:"Domain" xml:"Domain"`
-	Url            string `json:"Url" xml:"Url"`
-	VServerGroupId string `json:"VServerGroupId" xml:"VServerGroupId"`
+	RequestId              string `json:"RequestId" xml:"RequestId"`
+	RuleName               string `json:"RuleName" xml:"RuleName"`
+	LoadBalancerId         string `json:"LoadBalancerId" xml:"LoadBalancerId"`
+	ListenerPort           string `json:"ListenerPort" xml:"ListenerPort"`
+	Domain                 string `json:"Domain" xml:"Domain"`
+	Url                    string `json:"Url" xml:"Url"`
+	VServerGroupId         string `json:"VServerGroupId" xml:"VServerGroupId"`
+	ListenerSync           string `json:"ListenerSync" xml:"ListenerSync"`
+	Scheduler              string `json:"Scheduler" xml:"Scheduler"`
+	StickySession          string `json:"StickySession" xml:"StickySession"`
+	StickySessionType      string `json:"StickySessionType" xml:"StickySessionType"`
+	CookieTimeout          int    `json:"CookieTimeout" xml:"CookieTimeout"`
+	Cookie                 string `json:"Cookie" xml:"Cookie"`
+	HealthCheck            string `json:"HealthCheck" xml:"HealthCheck"`
+	HealthCheckDomain      string `json:"HealthCheckDomain" xml:"HealthCheckDomain"`
+	HealthCheckURI         string `json:"HealthCheckURI" xml:"HealthCheckURI"`
+	HealthyThreshold       int    `json:"HealthyThreshold" xml:"HealthyThreshold"`
+	UnhealthyThreshold     int    `json:"UnhealthyThreshold" xml:"UnhealthyThreshold"`
+	HealthCheckTimeout     int    `json:"HealthCheckTimeout" xml:"HealthCheckTimeout"`
+	HealthCheckInterval    int    `json:"HealthCheckInterval" xml:"HealthCheckInterval"`
+	HealthCheckConnectPort int    `json:"HealthCheckConnectPort" xml:"HealthCheckConnectPort"`
+	HealthCheckHttpCode    string `json:"HealthCheckHttpCode" xml:"HealthCheckHttpCode"`
 }
 
 // CreateDescribeRuleAttributeRequest creates a request to invoke DescribeRuleAttribute API

+ 5 - 5
services/slb/describe_rules.go

@@ -76,14 +76,14 @@ func (client *Client) DescribeRulesWithCallback(request *DescribeRulesRequest, c
 // DescribeRulesRequest is the request struct for api DescribeRules
 type DescribeRulesRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
-	ListenerPort         requests.Integer `position:"Query" name:"ListenerPort"`
 }
 
 // DescribeRulesResponse is the response struct for api DescribeRules

+ 5 - 5
services/slb/describe_server_certificates.go

@@ -76,14 +76,14 @@ func (client *Client) DescribeServerCertificatesWithCallback(request *DescribeSe
 // DescribeServerCertificatesRequest is the request struct for api DescribeServerCertificates
 type DescribeServerCertificatesRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ServerCertificateId  string           `position:"Query" name:"ServerCertificateId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ServerCertificateId  string           `position:"Query" name:"ServerCertificateId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 }
 
 // DescribeServerCertificatesResponse is the response struct for api DescribeServerCertificates

+ 109 - 0
services/slb/describe_slb_quotas.go

@@ -0,0 +1,109 @@
+package slb
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeSlbQuotas invokes the slb.DescribeSlbQuotas API synchronously
+// api document: https://help.aliyun.com/api/slb/describeslbquotas.html
+func (client *Client) DescribeSlbQuotas(request *DescribeSlbQuotasRequest) (response *DescribeSlbQuotasResponse, err error) {
+	response = CreateDescribeSlbQuotasResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSlbQuotasWithChan invokes the slb.DescribeSlbQuotas API asynchronously
+// api document: https://help.aliyun.com/api/slb/describeslbquotas.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSlbQuotasWithChan(request *DescribeSlbQuotasRequest) (<-chan *DescribeSlbQuotasResponse, <-chan error) {
+	responseChan := make(chan *DescribeSlbQuotasResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSlbQuotas(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSlbQuotasWithCallback invokes the slb.DescribeSlbQuotas API asynchronously
+// api document: https://help.aliyun.com/api/slb/describeslbquotas.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSlbQuotasWithCallback(request *DescribeSlbQuotasRequest, callback func(response *DescribeSlbQuotasResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSlbQuotasResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSlbQuotas(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSlbQuotasRequest is the request struct for api DescribeSlbQuotas
+type DescribeSlbQuotasRequest struct {
+	*requests.RpcRequest
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	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"`
+	Tags                 string           `position:"Query" name:"Tags"`
+}
+
+// DescribeSlbQuotasResponse is the response struct for api DescribeSlbQuotas
+type DescribeSlbQuotasResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Quotas    Quotas `json:"Quotas" xml:"Quotas"`
+}
+
+// CreateDescribeSlbQuotasRequest creates a request to invoke DescribeSlbQuotas API
+func CreateDescribeSlbQuotasRequest() (request *DescribeSlbQuotasRequest) {
+	request = &DescribeSlbQuotasRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Slb", "2014-05-15", "DescribeSlbQuotas", "slb", "openAPI")
+	return
+}
+
+// CreateDescribeSlbQuotasResponse creates a response to parse from DescribeSlbQuotas response
+func CreateDescribeSlbQuotasResponse() (response *DescribeSlbQuotasResponse) {
+	response = &DescribeSlbQuotasResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 6
services/slb/describe_tags.go

@@ -76,16 +76,16 @@ func (client *Client) DescribeTagsWithCallback(request *DescribeTagsRequest, cal
 // DescribeTagsRequest is the request struct for api DescribeTags
 type DescribeTagsRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
-	Tags                 string           `position:"Query" name:"Tags"`
-	DistinctKey          requests.Boolean `position:"Query" name:"DistinctKey"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	DistinctKey          requests.Boolean `position:"Query" name:"DistinctKey"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	Tags                 string           `position:"Query" name:"Tags"`
 }
 
 // DescribeTagsResponse is the response struct for api DescribeTags

+ 4 - 4
services/slb/describe_v_server_group_attribute.go

@@ -76,13 +76,13 @@ func (client *Client) DescribeVServerGroupAttributeWithCallback(request *Describ
 // DescribeVServerGroupAttributeRequest is the request struct for api DescribeVServerGroupAttribute
 type DescribeVServerGroupAttributeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	VServerGroupId       string           `position:"Query" name:"VServerGroupId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	VServerGroupId       string           `position:"Query" name:"VServerGroupId"`
 }
 
 // DescribeVServerGroupAttributeResponse is the response struct for api DescribeVServerGroupAttribute

+ 6 - 4
services/slb/describe_v_server_groups.go

@@ -76,13 +76,15 @@ func (client *Client) DescribeVServerGroupsWithCallback(request *DescribeVServer
 // DescribeVServerGroupsRequest is the request struct for api DescribeVServerGroups
 type DescribeVServerGroupsRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	IncludeRule          requests.Boolean `position:"Query" name:"IncludeRule"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	IncludeListener      requests.Boolean `position:"Query" name:"IncludeListener"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 }
 
 // DescribeVServerGroupsResponse is the response struct for api DescribeVServerGroups

+ 3 - 3
services/slb/describe_zones.go

@@ -76,11 +76,11 @@ func (client *Client) DescribeZonesWithCallback(request *DescribeZonesRequest, c
 // DescribeZonesRequest is the request struct for api DescribeZones
 type DescribeZonesRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 5 - 5
services/slb/modify_load_balancer_instance_spec.go

@@ -76,15 +76,15 @@ func (client *Client) ModifyLoadBalancerInstanceSpecWithCallback(request *Modify
 // ModifyLoadBalancerInstanceSpecRequest is the request struct for api ModifyLoadBalancerInstanceSpec
 type ModifyLoadBalancerInstanceSpecRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	LoadBalancerSpec     string           `position:"Query" name:"LoadBalancerSpec"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	LoadBalancerSpec     string           `position:"Query" name:"LoadBalancerSpec"`
-	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
 }
 
 // ModifyLoadBalancerInstanceSpecResponse is the response struct for api ModifyLoadBalancerInstanceSpec

+ 5 - 5
services/slb/modify_load_balancer_internet_spec.go

@@ -76,16 +76,16 @@ func (client *Client) ModifyLoadBalancerInternetSpecWithCallback(request *Modify
 // ModifyLoadBalancerInternetSpecRequest is the request struct for api ModifyLoadBalancerInternetSpec
 type ModifyLoadBalancerInternetSpecRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
-	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	Bandwidth            requests.Integer `position:"Query" name:"Bandwidth"`
+	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
-	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
 }
 
 // ModifyLoadBalancerInternetSpecResponse is the response struct for api ModifyLoadBalancerInternetSpec

+ 5 - 5
services/slb/modify_load_balancer_pay_type.go

@@ -76,17 +76,17 @@ func (client *Client) ModifyLoadBalancerPayTypeWithCallback(request *ModifyLoadB
 // ModifyLoadBalancerPayTypeRequest is the request struct for api ModifyLoadBalancerPayType
 type ModifyLoadBalancerPayTypeRequest struct {
 	*requests.RpcRequest
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	Tags                 string           `position:"Query" name:"Tags"`
+	Duration             requests.Integer `position:"Query" name:"Duration"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	PayType              string           `position:"Query" name:"PayType"`
 	PricingCycle         string           `position:"Query" name:"PricingCycle"`
-	Duration             requests.Integer `position:"Query" name:"Duration"`
-	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
 }
 
 // ModifyLoadBalancerPayTypeResponse is the response struct for api ModifyLoadBalancerPayType

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