Prechádzať zdrojové kódy

SLB SDK Auto Released By laysong.sl,Version:1.58.5

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 rokov pred
rodič
commit
e28f69e91b
56 zmenil súbory, kde vykonal 478 pridanie a 894 odobranie
  1. 3 0
      ChangeLog.txt
  2. 1 0
      services/slb/add_listener_white_list_item.go
  3. 28 5
      services/slb/client.go
  4. 1 0
      services/slb/create_access_control_list.go
  5. 2 0
      services/slb/create_load_balancer.go
  6. 1 0
      services/slb/create_rules.go
  7. 1 0
      services/slb/delete_load_balancer_listener.go
  8. 1 0
      services/slb/describe_access_control_list_attribute.go
  9. 18 10
      services/slb/describe_access_control_lists.go
  10. 110 0
      services/slb/describe_available_resource.go
  11. 14 7
      services/slb/describe_ca_certificates.go
  12. 1 0
      services/slb/describe_health_status.go
  13. 1 0
      services/slb/describe_listener_access_control_attribute.go
  14. 38 32
      services/slb/describe_load_balancer_attribute.go
  15. 0 110
      services/slb/describe_load_balancer_auto_release_time.go
  16. 37 30
      services/slb/describe_load_balancers.go
  17. 0 112
      services/slb/describe_load_balancers_related_ecs.go
  18. 2 2
      services/slb/describe_master_slave_v_server_groups.go
  19. 1 0
      services/slb/describe_rules.go
  20. 15 8
      services/slb/describe_server_certificates.go
  21. 0 109
      services/slb/describe_slb_quotas.go
  22. 1 0
      services/slb/describe_v_server_group_attribute.go
  23. 2 2
      services/slb/describe_v_server_groups.go
  24. 3 2
      services/slb/modify_load_balancer_internet_spec.go
  25. 0 112
      services/slb/move_resource_group.go
  26. 1 0
      services/slb/remove_listener_white_list_item.go
  27. 0 112
      services/slb/set_auto_renew_status.go
  28. 1 0
      services/slb/set_listener_access_control_status.go
  29. 0 110
      services/slb/set_load_balancer_auto_release_time.go
  30. 1 0
      services/slb/start_load_balancer_listener.go
  31. 1 0
      services/slb/stop_load_balancer_listener.go
  32. 5 3
      services/slb/struct_acl.go
  33. 5 3
      services/slb/struct_available_resource.go
  34. 3 5
      services/slb/struct_available_resources.go
  35. 2 2
      services/slb/struct_backend_server.go
  36. 6 6
      services/slb/struct_backend_server_in_add_backend_servers.go
  37. 6 6
      services/slb/struct_backend_server_in_set_backend_servers.go
  38. 11 10
      services/slb/struct_ca_certificate.go
  39. 1 0
      services/slb/struct_listener_port_and_protocol.go
  40. 19 22
      services/slb/struct_load_balancer.go
  41. 2 2
      services/slb/struct_load_balancers.go
  42. 10 9
      services/slb/struct_master_slave_backend_server.go
  43. 2 5
      services/slb/struct_master_slave_v_server_group.go
  44. 2 2
      services/slb/struct_master_slave_v_server_groups.go
  45. 0 21
      services/slb/struct_master_slave_v_server_groups_in_describe_master_slave_v_server_groups.go
  46. 1 0
      services/slb/struct_server_certificate.go
  47. 4 3
      services/slb/struct_support_resource.go
  48. 21 0
      services/slb/struct_support_resources.go
  49. 22 0
      services/slb/struct_tag.go
  50. 21 0
      services/slb/struct_tags_in_describe_access_control_lists.go
  51. 21 0
      services/slb/struct_tags_in_describe_ca_certificates.go
  52. 3 3
      services/slb/struct_tags_in_describe_load_balancers.go
  53. 21 0
      services/slb/struct_tags_in_describe_server_certificates.go
  54. 3 6
      services/slb/struct_v_server_group.go
  55. 2 2
      services/slb/struct_v_server_groups.go
  56. 0 21
      services/slb/struct_v_server_groups_in_describe_load_balancers_related_ecs.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-04-26 Version: 1.58.5
+1, Add resource describe api.
+
 2019-04-26 Version: 1.58.4
 1, add new openapi.
 

+ 1 - 0
services/slb/add_listener_white_list_item.go

@@ -84,6 +84,7 @@ type AddListenerWhiteListItemRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 28 - 5
services/slb/client.go

@@ -18,6 +18,7 @@ package slb
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -32,6 +33,20 @@ func NewClient() (client *Client, err error) {
 	return
 }
 
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
 // NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
 // this is the common api to create a sdk client
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
@@ -41,7 +56,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 }
 
 // NewClientWithAccessKey is a shortcut to create sdk client with accesskey
-// usage: https://help.aliyun.com/document_detail/66217.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
@@ -49,7 +64,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 }
 
 // NewClientWithStsToken is a shortcut to create sdk client with sts token
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
@@ -57,15 +72,23 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 }
 
 // NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
 	return
 }
 
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
-// usage: https://help.aliyun.com/document_detail/66223.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
@@ -73,7 +96,7 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 }
 
 // NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
-// attention: rsa key pair auth is only Japan regions available
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)

+ 1 - 0
services/slb/create_access_control_list.go

@@ -77,6 +77,7 @@ func (client *Client) CreateAccessControlListWithCallback(request *CreateAccessC
 type CreateAccessControlListRequest struct {
 	*requests.RpcRequest
 	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	AclName              string           `position:"Query" name:"AclName"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`

+ 2 - 0
services/slb/create_load_balancer.go

@@ -88,6 +88,7 @@ type CreateLoadBalancerRequest struct {
 	SlaveZoneId          string           `position:"Query" name:"SlaveZoneId"`
 	LoadBalancerSpec     string           `position:"Query" name:"LoadBalancerSpec"`
 	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
+	Address              string           `position:"Query" name:"Address"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	Bandwidth            requests.Integer `position:"Query" name:"Bandwidth"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
@@ -99,6 +100,7 @@ type CreateLoadBalancerRequest struct {
 	VpcId                string           `position:"Query" name:"VpcId"`
 	PayType              string           `position:"Query" name:"PayType"`
 	PricingCycle         string           `position:"Query" name:"PricingCycle"`
+	Ratio                requests.Integer `position:"Query" name:"Ratio"`
 }
 
 // CreateLoadBalancerResponse is the response struct for api CreateLoadBalancer

+ 1 - 0
services/slb/create_rules.go

@@ -84,6 +84,7 @@ type CreateRulesRequest struct {
 	RuleList             string           `position:"Query" name:"RuleList"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 1 - 0
services/slb/delete_load_balancer_listener.go

@@ -83,6 +83,7 @@ type DeleteLoadBalancerListenerRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 1 - 0
services/slb/describe_access_control_list_attribute.go

@@ -93,6 +93,7 @@ type DescribeAccessControlListAttributeResponse struct {
 	AclId            string           `json:"AclId" xml:"AclId"`
 	AclName          string           `json:"AclName" xml:"AclName"`
 	AddressIPVersion string           `json:"AddressIPVersion" xml:"AddressIPVersion"`
+	ResourceGroupId  string           `json:"ResourceGroupId" xml:"ResourceGroupId"`
 	AclEntrys        AclEntrys        `json:"AclEntrys" xml:"AclEntrys"`
 	RelatedListeners RelatedListeners `json:"RelatedListeners" xml:"RelatedListeners"`
 }

+ 18 - 10
services/slb/describe_access_control_lists.go

@@ -76,16 +76,24 @@ func (client *Client) DescribeAccessControlListsWithCallback(request *DescribeAc
 // 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"`
+	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"`
+	ResourceGroupId      string                           `position:"Query" name:"ResourceGroupId"`
+	PageSize             requests.Integer                 `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeAccessControlListsTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// DescribeAccessControlListsTag is a repeated param struct in DescribeAccessControlListsRequest
+type DescribeAccessControlListsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeAccessControlListsResponse is the response struct for api DescribeAccessControlLists

+ 110 - 0
services/slb/describe_available_resource.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"
+)
+
+// DescribeAvailableResource invokes the slb.DescribeAvailableResource API synchronously
+// api document: https://help.aliyun.com/api/slb/describeavailableresource.html
+func (client *Client) DescribeAvailableResource(request *DescribeAvailableResourceRequest) (response *DescribeAvailableResourceResponse, err error) {
+	response = CreateDescribeAvailableResourceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAvailableResourceWithChan invokes the slb.DescribeAvailableResource API asynchronously
+// api document: https://help.aliyun.com/api/slb/describeavailableresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAvailableResourceWithChan(request *DescribeAvailableResourceRequest) (<-chan *DescribeAvailableResourceResponse, <-chan error) {
+	responseChan := make(chan *DescribeAvailableResourceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAvailableResource(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAvailableResourceWithCallback invokes the slb.DescribeAvailableResource API asynchronously
+// api document: https://help.aliyun.com/api/slb/describeavailableresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAvailableResourceWithCallback(request *DescribeAvailableResourceRequest, callback func(response *DescribeAvailableResourceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAvailableResourceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAvailableResource(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAvailableResourceRequest is the request struct for api DescribeAvailableResource
+type DescribeAvailableResourceRequest 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"`
+	AddressType          string           `position:"Query" name:"AddressType"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AddressIPVersion     string           `position:"Query" name:"AddressIPVersion"`
+}
+
+// DescribeAvailableResourceResponse is the response struct for api DescribeAvailableResource
+type DescribeAvailableResourceResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	AvailableResources AvailableResources `json:"AvailableResources" xml:"AvailableResources"`
+}
+
+// CreateDescribeAvailableResourceRequest creates a request to invoke DescribeAvailableResource API
+func CreateDescribeAvailableResourceRequest() (request *DescribeAvailableResourceRequest) {
+	request = &DescribeAvailableResourceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Slb", "2014-05-15", "DescribeAvailableResource", "slb", "openAPI")
+	return
+}
+
+// CreateDescribeAvailableResourceResponse creates a response to parse from DescribeAvailableResource response
+func CreateDescribeAvailableResourceResponse() (response *DescribeAvailableResourceResponse) {
+	response = &DescribeAvailableResourceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 14 - 7
services/slb/describe_ca_certificates.go

@@ -76,13 +76,20 @@ func (client *Client) DescribeCACertificatesWithCallback(request *DescribeCACert
 // DescribeCACertificatesRequest is the request struct for api DescribeCACertificates
 type DescribeCACertificatesRequest struct {
 	*requests.RpcRequest
-	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"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	CACertificateId      string           `position:"Query" name:"CACertificateId"`
+	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"`
+	Tag                  *[]DescribeCACertificatesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer             `position:"Query" name:"OwnerId"`
+	CACertificateId      string                       `position:"Query" name:"CACertificateId"`
+}
+
+// DescribeCACertificatesTag is a repeated param struct in DescribeCACertificatesRequest
+type DescribeCACertificatesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeCACertificatesResponse is the response struct for api DescribeCACertificates

+ 1 - 0
services/slb/describe_health_status.go

@@ -83,6 +83,7 @@ type DescribeHealthStatusRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 1 - 0
services/slb/describe_listener_access_control_attribute.go

@@ -83,6 +83,7 @@ type DescribeListenerAccessControlAttributeRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 38 - 32
services/slb/describe_load_balancer_attribute.go

@@ -77,6 +77,7 @@ func (client *Client) DescribeLoadBalancerAttributeWithCallback(request *Describ
 type DescribeLoadBalancerAttributeRequest struct {
 	*requests.RpcRequest
 	AccessKeyId          string           `position:"Query" name:"access_key_id"`
+	IncludeReservedData  requests.Boolean `position:"Query" name:"IncludeReservedData"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
@@ -88,38 +89,43 @@ type DescribeLoadBalancerAttributeRequest struct {
 // DescribeLoadBalancerAttributeResponse is the response struct for api DescribeLoadBalancerAttribute
 type DescribeLoadBalancerAttributeResponse struct {
 	*responses.BaseResponse
-	RequestId                string                                        `json:"RequestId" xml:"RequestId"`
-	LoadBalancerId           string                                        `json:"LoadBalancerId" xml:"LoadBalancerId"`
-	ResourceGroupId          string                                        `json:"ResourceGroupId" xml:"ResourceGroupId"`
-	LoadBalancerName         string                                        `json:"LoadBalancerName" xml:"LoadBalancerName"`
-	LoadBalancerStatus       string                                        `json:"LoadBalancerStatus" xml:"LoadBalancerStatus"`
-	RegionId                 string                                        `json:"RegionId" xml:"RegionId"`
-	RegionIdAlias            string                                        `json:"RegionIdAlias" xml:"RegionIdAlias"`
-	Address                  string                                        `json:"Address" xml:"Address"`
-	AddressType              string                                        `json:"AddressType" xml:"AddressType"`
-	VpcId                    string                                        `json:"VpcId" xml:"VpcId"`
-	VSwitchId                string                                        `json:"VSwitchId" xml:"VSwitchId"`
-	NetworkType              string                                        `json:"NetworkType" xml:"NetworkType"`
-	InternetChargeType       string                                        `json:"InternetChargeType" xml:"InternetChargeType"`
-	AutoReleaseTime          int                                           `json:"AutoReleaseTime" xml:"AutoReleaseTime"`
-	Bandwidth                int                                           `json:"Bandwidth" xml:"Bandwidth"`
-	LoadBalancerSpec         string                                        `json:"LoadBalancerSpec" xml:"LoadBalancerSpec"`
-	CreateTime               string                                        `json:"CreateTime" xml:"CreateTime"`
-	CreateTimeStamp          int                                           `json:"CreateTimeStamp" xml:"CreateTimeStamp"`
-	EndTime                  string                                        `json:"EndTime" xml:"EndTime"`
-	EndTimeStamp             int                                           `json:"EndTimeStamp" xml:"EndTimeStamp"`
-	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"`
-	BackendServers           BackendServersInDescribeLoadBalancerAttribute `json:"BackendServers" xml:"BackendServers"`
+	RequestId                      string                                        `json:"RequestId" xml:"RequestId"`
+	LoadBalancerId                 string                                        `json:"LoadBalancerId" xml:"LoadBalancerId"`
+	ResourceGroupId                string                                        `json:"ResourceGroupId" xml:"ResourceGroupId"`
+	LoadBalancerName               string                                        `json:"LoadBalancerName" xml:"LoadBalancerName"`
+	LoadBalancerStatus             string                                        `json:"LoadBalancerStatus" xml:"LoadBalancerStatus"`
+	RegionId                       string                                        `json:"RegionId" xml:"RegionId"`
+	RegionIdAlias                  string                                        `json:"RegionIdAlias" xml:"RegionIdAlias"`
+	Address                        string                                        `json:"Address" xml:"Address"`
+	AddressType                    string                                        `json:"AddressType" xml:"AddressType"`
+	VpcId                          string                                        `json:"VpcId" xml:"VpcId"`
+	VSwitchId                      string                                        `json:"VSwitchId" xml:"VSwitchId"`
+	NetworkType                    string                                        `json:"NetworkType" xml:"NetworkType"`
+	InternetChargeType             string                                        `json:"InternetChargeType" xml:"InternetChargeType"`
+	AutoReleaseTime                int                                           `json:"AutoReleaseTime" xml:"AutoReleaseTime"`
+	Bandwidth                      int                                           `json:"Bandwidth" xml:"Bandwidth"`
+	LoadBalancerSpec               string                                        `json:"LoadBalancerSpec" xml:"LoadBalancerSpec"`
+	CreateTime                     string                                        `json:"CreateTime" xml:"CreateTime"`
+	CreateTimeStamp                int                                           `json:"CreateTimeStamp" xml:"CreateTimeStamp"`
+	EndTime                        string                                        `json:"EndTime" xml:"EndTime"`
+	EndTimeStamp                   int                                           `json:"EndTimeStamp" xml:"EndTimeStamp"`
+	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"`
+	HasReservedInfo                string                                        `json:"HasReservedInfo" xml:"HasReservedInfo"`
+	ReservedInfoOrderType          string                                        `json:"ReservedInfoOrderType" xml:"ReservedInfoOrderType"`
+	ReservedInfoInternetChargeType string                                        `json:"ReservedInfoInternetChargeType" xml:"ReservedInfoInternetChargeType"`
+	ReservedInfoBandwidth          string                                        `json:"ReservedInfoBandwidth" xml:"ReservedInfoBandwidth"`
+	ReservedInfoActiveTime         string                                        `json:"ReservedInfoActiveTime" xml:"ReservedInfoActiveTime"`
+	ListenerPorts                  ListenerPorts                                 `json:"ListenerPorts" xml:"ListenerPorts"`
+	ListenerPortsAndProtocal       ListenerPortsAndProtocal                      `json:"ListenerPortsAndProtocal" xml:"ListenerPortsAndProtocal"`
+	ListenerPortsAndProtocol       ListenerPortsAndProtocol                      `json:"ListenerPortsAndProtocol" xml:"ListenerPortsAndProtocol"`
+	BackendServers                 BackendServersInDescribeLoadBalancerAttribute `json:"BackendServers" xml:"BackendServers"`
 }
 
 // CreateDescribeLoadBalancerAttributeRequest creates a request to invoke DescribeLoadBalancerAttribute API

+ 0 - 110
services/slb/describe_load_balancer_auto_release_time.go

@@ -1,110 +0,0 @@
-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"
-)
-
-// DescribeLoadBalancerAutoReleaseTime invokes the slb.DescribeLoadBalancerAutoReleaseTime API synchronously
-// api document: https://help.aliyun.com/api/slb/describeloadbalancerautoreleasetime.html
-func (client *Client) DescribeLoadBalancerAutoReleaseTime(request *DescribeLoadBalancerAutoReleaseTimeRequest) (response *DescribeLoadBalancerAutoReleaseTimeResponse, err error) {
-	response = CreateDescribeLoadBalancerAutoReleaseTimeResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeLoadBalancerAutoReleaseTimeWithChan invokes the slb.DescribeLoadBalancerAutoReleaseTime API asynchronously
-// api document: https://help.aliyun.com/api/slb/describeloadbalancerautoreleasetime.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLoadBalancerAutoReleaseTimeWithChan(request *DescribeLoadBalancerAutoReleaseTimeRequest) (<-chan *DescribeLoadBalancerAutoReleaseTimeResponse, <-chan error) {
-	responseChan := make(chan *DescribeLoadBalancerAutoReleaseTimeResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeLoadBalancerAutoReleaseTime(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeLoadBalancerAutoReleaseTimeWithCallback invokes the slb.DescribeLoadBalancerAutoReleaseTime API asynchronously
-// api document: https://help.aliyun.com/api/slb/describeloadbalancerautoreleasetime.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLoadBalancerAutoReleaseTimeWithCallback(request *DescribeLoadBalancerAutoReleaseTimeRequest, callback func(response *DescribeLoadBalancerAutoReleaseTimeResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeLoadBalancerAutoReleaseTimeResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeLoadBalancerAutoReleaseTime(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeLoadBalancerAutoReleaseTimeRequest is the request struct for api DescribeLoadBalancerAutoReleaseTime
-type DescribeLoadBalancerAutoReleaseTimeRequest struct {
-	*requests.RpcRequest
-	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"`
-}
-
-// DescribeLoadBalancerAutoReleaseTimeResponse is the response struct for api DescribeLoadBalancerAutoReleaseTime
-type DescribeLoadBalancerAutoReleaseTimeResponse struct {
-	*responses.BaseResponse
-	RequestId       string `json:"RequestId" xml:"RequestId"`
-	AutoReleaseTime int    `json:"AutoReleaseTime" xml:"AutoReleaseTime"`
-}
-
-// CreateDescribeLoadBalancerAutoReleaseTimeRequest creates a request to invoke DescribeLoadBalancerAutoReleaseTime API
-func CreateDescribeLoadBalancerAutoReleaseTimeRequest() (request *DescribeLoadBalancerAutoReleaseTimeRequest) {
-	request = &DescribeLoadBalancerAutoReleaseTimeRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Slb", "2014-05-15", "DescribeLoadBalancerAutoReleaseTime", "slb", "openAPI")
-	return
-}
-
-// CreateDescribeLoadBalancerAutoReleaseTimeResponse creates a response to parse from DescribeLoadBalancerAutoReleaseTime response
-func CreateDescribeLoadBalancerAutoReleaseTimeResponse() (response *DescribeLoadBalancerAutoReleaseTimeResponse) {
-	response = &DescribeLoadBalancerAutoReleaseTimeResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 37 - 30
services/slb/describe_load_balancers.go

@@ -76,41 +76,48 @@ func (client *Client) DescribeLoadBalancersWithCallback(request *DescribeLoadBal
 // DescribeLoadBalancersRequest is the request struct for api DescribeLoadBalancers
 type DescribeLoadBalancersRequest struct {
 	*requests.RpcRequest
-	AccessKeyId           string           `position:"Query" name:"access_key_id"`
-	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	NetworkType           string           `position:"Query" name:"NetworkType"`
-	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"`
-	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"`
+	AccessKeyId           string                      `position:"Query" name:"access_key_id"`
+	ResourceOwnerId       requests.Integer            `position:"Query" name:"ResourceOwnerId"`
+	NetworkType           string                      `position:"Query" name:"NetworkType"`
+	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"`
+	Tag                   *[]DescribeLoadBalancersTag `position:"Query" name:"Tag"  type:"Repeated"`
+	Fuzzy                 string                      `position:"Query" name:"Fuzzy"`
+	Address               string                      `position:"Query" name:"Address"`
+	ResourceOwnerAccount  string                      `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount          string                      `position:"Query" name:"OwnerAccount"`
+	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"`
+}
+
+// DescribeLoadBalancersTag is a repeated param struct in DescribeLoadBalancersRequest
+type DescribeLoadBalancersTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeLoadBalancersResponse is the response struct for api DescribeLoadBalancers
 type DescribeLoadBalancersResponse struct {
 	*responses.BaseResponse
-	RequestId     string                               `json:"RequestId" xml:"RequestId"`
-	PageNumber    int                                  `json:"PageNumber" xml:"PageNumber"`
-	PageSize      int                                  `json:"PageSize" xml:"PageSize"`
-	TotalCount    int                                  `json:"TotalCount" xml:"TotalCount"`
-	LoadBalancers LoadBalancersInDescribeLoadBalancers `json:"LoadBalancers" xml:"LoadBalancers"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	LoadBalancers LoadBalancers `json:"LoadBalancers" xml:"LoadBalancers"`
 }
 
 // CreateDescribeLoadBalancersRequest creates a request to invoke DescribeLoadBalancers API

+ 0 - 112
services/slb/describe_load_balancers_related_ecs.go

@@ -1,112 +0,0 @@
-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"
-)
-
-// DescribeLoadBalancersRelatedEcs invokes the slb.DescribeLoadBalancersRelatedEcs API synchronously
-// api document: https://help.aliyun.com/api/slb/describeloadbalancersrelatedecs.html
-func (client *Client) DescribeLoadBalancersRelatedEcs(request *DescribeLoadBalancersRelatedEcsRequest) (response *DescribeLoadBalancersRelatedEcsResponse, err error) {
-	response = CreateDescribeLoadBalancersRelatedEcsResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeLoadBalancersRelatedEcsWithChan invokes the slb.DescribeLoadBalancersRelatedEcs API asynchronously
-// api document: https://help.aliyun.com/api/slb/describeloadbalancersrelatedecs.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLoadBalancersRelatedEcsWithChan(request *DescribeLoadBalancersRelatedEcsRequest) (<-chan *DescribeLoadBalancersRelatedEcsResponse, <-chan error) {
-	responseChan := make(chan *DescribeLoadBalancersRelatedEcsResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeLoadBalancersRelatedEcs(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeLoadBalancersRelatedEcsWithCallback invokes the slb.DescribeLoadBalancersRelatedEcs API asynchronously
-// api document: https://help.aliyun.com/api/slb/describeloadbalancersrelatedecs.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeLoadBalancersRelatedEcsWithCallback(request *DescribeLoadBalancersRelatedEcsRequest, callback func(response *DescribeLoadBalancersRelatedEcsResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeLoadBalancersRelatedEcsResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeLoadBalancersRelatedEcs(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeLoadBalancersRelatedEcsRequest is the request struct for api DescribeLoadBalancersRelatedEcs
-type DescribeLoadBalancersRelatedEcsRequest struct {
-	*requests.RpcRequest
-	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"`
-}
-
-// DescribeLoadBalancersRelatedEcsResponse is the response struct for api DescribeLoadBalancersRelatedEcs
-type DescribeLoadBalancersRelatedEcsResponse struct {
-	*responses.BaseResponse
-	Message       string                                         `json:"Message" xml:"Message"`
-	Success       bool                                           `json:"Success" xml:"Success"`
-	RequestId     string                                         `json:"RequestId" xml:"RequestId"`
-	LoadBalancers LoadBalancersInDescribeLoadBalancersRelatedEcs `json:"LoadBalancers" xml:"LoadBalancers"`
-}
-
-// CreateDescribeLoadBalancersRelatedEcsRequest creates a request to invoke DescribeLoadBalancersRelatedEcs API
-func CreateDescribeLoadBalancersRelatedEcsRequest() (request *DescribeLoadBalancersRelatedEcsRequest) {
-	request = &DescribeLoadBalancersRelatedEcsRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Slb", "2014-05-15", "DescribeLoadBalancersRelatedEcs", "slb", "openAPI")
-	return
-}
-
-// CreateDescribeLoadBalancersRelatedEcsResponse creates a response to parse from DescribeLoadBalancersRelatedEcs response
-func CreateDescribeLoadBalancersRelatedEcsResponse() (response *DescribeLoadBalancersRelatedEcsResponse) {
-	response = &DescribeLoadBalancersRelatedEcsResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 2 - 2
services/slb/describe_master_slave_v_server_groups.go

@@ -88,8 +88,8 @@ type DescribeMasterSlaveVServerGroupsRequest struct {
 // DescribeMasterSlaveVServerGroupsResponse is the response struct for api DescribeMasterSlaveVServerGroups
 type DescribeMasterSlaveVServerGroupsResponse struct {
 	*responses.BaseResponse
-	RequestId                string                                                     `json:"RequestId" xml:"RequestId"`
-	MasterSlaveVServerGroups MasterSlaveVServerGroupsInDescribeMasterSlaveVServerGroups `json:"MasterSlaveVServerGroups" xml:"MasterSlaveVServerGroups"`
+	RequestId                string                   `json:"RequestId" xml:"RequestId"`
+	MasterSlaveVServerGroups MasterSlaveVServerGroups `json:"MasterSlaveVServerGroups" xml:"MasterSlaveVServerGroups"`
 }
 
 // CreateDescribeMasterSlaveVServerGroupsRequest creates a request to invoke DescribeMasterSlaveVServerGroups API

+ 1 - 0
services/slb/describe_rules.go

@@ -83,6 +83,7 @@ type DescribeRulesRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 15 - 8
services/slb/describe_server_certificates.go

@@ -76,14 +76,21 @@ func (client *Client) DescribeServerCertificatesWithCallback(request *DescribeSe
 // DescribeServerCertificatesRequest is the request struct for api DescribeServerCertificates
 type DescribeServerCertificatesRequest struct {
 	*requests.RpcRequest
-	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"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ServerCertificateId  string           `position:"Query" name:"ServerCertificateId"`
-	Tags                 string           `position:"Query" name:"Tags"`
+	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"`
+	Tag                  *[]DescribeServerCertificatesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer                 `position:"Query" name:"OwnerId"`
+	ServerCertificateId  string                           `position:"Query" name:"ServerCertificateId"`
+	Tags                 string                           `position:"Query" name:"Tags"`
+}
+
+// DescribeServerCertificatesTag is a repeated param struct in DescribeServerCertificatesRequest
+type DescribeServerCertificatesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeServerCertificatesResponse is the response struct for api DescribeServerCertificates

+ 0 - 109
services/slb/describe_slb_quotas.go

@@ -1,109 +0,0 @@
-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
-}

+ 1 - 0
services/slb/describe_v_server_group_attribute.go

@@ -91,6 +91,7 @@ type DescribeVServerGroupAttributeResponse struct {
 	RequestId        string                                        `json:"RequestId" xml:"RequestId"`
 	VServerGroupId   string                                        `json:"VServerGroupId" xml:"VServerGroupId"`
 	VServerGroupName string                                        `json:"VServerGroupName" xml:"VServerGroupName"`
+	LoadBalancerId   string                                        `json:"LoadBalancerId" xml:"LoadBalancerId"`
 	BackendServers   BackendServersInDescribeVServerGroupAttribute `json:"BackendServers" xml:"BackendServers"`
 }
 

+ 2 - 2
services/slb/describe_v_server_groups.go

@@ -90,8 +90,8 @@ type DescribeVServerGroupsRequest struct {
 // DescribeVServerGroupsResponse is the response struct for api DescribeVServerGroups
 type DescribeVServerGroupsResponse struct {
 	*responses.BaseResponse
-	RequestId     string                               `json:"RequestId" xml:"RequestId"`
-	VServerGroups VServerGroupsInDescribeVServerGroups `json:"VServerGroups" xml:"VServerGroups"`
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	VServerGroups VServerGroups `json:"VServerGroups" xml:"VServerGroups"`
 }
 
 // CreateDescribeVServerGroupsRequest creates a request to invoke DescribeVServerGroups API

+ 3 - 2
services/slb/modify_load_balancer_internet_spec.go

@@ -78,14 +78,15 @@ type ModifyLoadBalancerInternetSpecRequest struct {
 	*requests.RpcRequest
 	AccessKeyId          string           `position:"Query" name:"access_key_id"`
 	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"`
 	Bandwidth            requests.Integer `position:"Query" name:"Bandwidth"`
-	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
 	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"`
+	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
+	Ratio                requests.Integer `position:"Query" name:"Ratio"`
 }
 
 // ModifyLoadBalancerInternetSpecResponse is the response struct for api ModifyLoadBalancerInternetSpec

+ 0 - 112
services/slb/move_resource_group.go

@@ -1,112 +0,0 @@
-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"
-)
-
-// MoveResourceGroup invokes the slb.MoveResourceGroup API synchronously
-// api document: https://help.aliyun.com/api/slb/moveresourcegroup.html
-func (client *Client) MoveResourceGroup(request *MoveResourceGroupRequest) (response *MoveResourceGroupResponse, err error) {
-	response = CreateMoveResourceGroupResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// MoveResourceGroupWithChan invokes the slb.MoveResourceGroup API asynchronously
-// api document: https://help.aliyun.com/api/slb/moveresourcegroup.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) MoveResourceGroupWithChan(request *MoveResourceGroupRequest) (<-chan *MoveResourceGroupResponse, <-chan error) {
-	responseChan := make(chan *MoveResourceGroupResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.MoveResourceGroup(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// MoveResourceGroupWithCallback invokes the slb.MoveResourceGroup API asynchronously
-// api document: https://help.aliyun.com/api/slb/moveresourcegroup.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) MoveResourceGroupWithCallback(request *MoveResourceGroupRequest, callback func(response *MoveResourceGroupResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *MoveResourceGroupResponse
-		var err error
-		defer close(result)
-		response, err = client.MoveResourceGroup(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// MoveResourceGroupRequest is the request struct for api MoveResourceGroup
-type MoveResourceGroupRequest struct {
-	*requests.RpcRequest
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceId           string           `position:"Query" name:"ResourceId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceType         string           `position:"Query" name:"ResourceType"`
-	Tags                 string           `position:"Query" name:"Tags"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	NewResourceGroupId   string           `position:"Query" name:"NewResourceGroupId"`
-}
-
-// MoveResourceGroupResponse is the response struct for api MoveResourceGroup
-type MoveResourceGroupResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateMoveResourceGroupRequest creates a request to invoke MoveResourceGroup API
-func CreateMoveResourceGroupRequest() (request *MoveResourceGroupRequest) {
-	request = &MoveResourceGroupRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Slb", "2014-05-15", "MoveResourceGroup", "slb", "openAPI")
-	return
-}
-
-// CreateMoveResourceGroupResponse creates a response to parse from MoveResourceGroup response
-func CreateMoveResourceGroupResponse() (response *MoveResourceGroupResponse) {
-	response = &MoveResourceGroupResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 1 - 0
services/slb/remove_listener_white_list_item.go

@@ -84,6 +84,7 @@ type RemoveListenerWhiteListItemRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 0 - 112
services/slb/set_auto_renew_status.go

@@ -1,112 +0,0 @@
-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"
-)
-
-// SetAutoRenewStatus invokes the slb.SetAutoRenewStatus API synchronously
-// api document: https://help.aliyun.com/api/slb/setautorenewstatus.html
-func (client *Client) SetAutoRenewStatus(request *SetAutoRenewStatusRequest) (response *SetAutoRenewStatusResponse, err error) {
-	response = CreateSetAutoRenewStatusResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// SetAutoRenewStatusWithChan invokes the slb.SetAutoRenewStatus API asynchronously
-// api document: https://help.aliyun.com/api/slb/setautorenewstatus.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) SetAutoRenewStatusWithChan(request *SetAutoRenewStatusRequest) (<-chan *SetAutoRenewStatusResponse, <-chan error) {
-	responseChan := make(chan *SetAutoRenewStatusResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.SetAutoRenewStatus(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// SetAutoRenewStatusWithCallback invokes the slb.SetAutoRenewStatus API asynchronously
-// api document: https://help.aliyun.com/api/slb/setautorenewstatus.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) SetAutoRenewStatusWithCallback(request *SetAutoRenewStatusRequest, callback func(response *SetAutoRenewStatusResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *SetAutoRenewStatusResponse
-		var err error
-		defer close(result)
-		response, err = client.SetAutoRenewStatus(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// SetAutoRenewStatusRequest is the request struct for api SetAutoRenewStatus
-type SetAutoRenewStatusRequest struct {
-	*requests.RpcRequest
-	AccessKeyId          string           `position:"Query" name:"access_key_id"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	RenewalDuration      requests.Integer `position:"Query" name:"RenewalDuration"`
-	LoadBalancerId       string           `position:"Query" name:"LoadBalancerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	RenewalStatus        string           `position:"Query" name:"RenewalStatus"`
-	RenewalCycUnit       string           `position:"Query" name:"RenewalCycUnit"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tags                 string           `position:"Query" name:"Tags"`
-}
-
-// SetAutoRenewStatusResponse is the response struct for api SetAutoRenewStatus
-type SetAutoRenewStatusResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateSetAutoRenewStatusRequest creates a request to invoke SetAutoRenewStatus API
-func CreateSetAutoRenewStatusRequest() (request *SetAutoRenewStatusRequest) {
-	request = &SetAutoRenewStatusRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Slb", "2014-05-15", "SetAutoRenewStatus", "slb", "openAPI")
-	return
-}
-
-// CreateSetAutoRenewStatusResponse creates a response to parse from SetAutoRenewStatus response
-func CreateSetAutoRenewStatusResponse() (response *SetAutoRenewStatusResponse) {
-	response = &SetAutoRenewStatusResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 1 - 0
services/slb/set_listener_access_control_status.go

@@ -84,6 +84,7 @@ type SetListenerAccessControlStatusRequest struct {
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	AccessControlStatus  string           `position:"Query" name:"AccessControlStatus"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 0 - 110
services/slb/set_load_balancer_auto_release_time.go

@@ -1,110 +0,0 @@
-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"
-)
-
-// SetLoadBalancerAutoReleaseTime invokes the slb.SetLoadBalancerAutoReleaseTime API synchronously
-// api document: https://help.aliyun.com/api/slb/setloadbalancerautoreleasetime.html
-func (client *Client) SetLoadBalancerAutoReleaseTime(request *SetLoadBalancerAutoReleaseTimeRequest) (response *SetLoadBalancerAutoReleaseTimeResponse, err error) {
-	response = CreateSetLoadBalancerAutoReleaseTimeResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// SetLoadBalancerAutoReleaseTimeWithChan invokes the slb.SetLoadBalancerAutoReleaseTime API asynchronously
-// api document: https://help.aliyun.com/api/slb/setloadbalancerautoreleasetime.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) SetLoadBalancerAutoReleaseTimeWithChan(request *SetLoadBalancerAutoReleaseTimeRequest) (<-chan *SetLoadBalancerAutoReleaseTimeResponse, <-chan error) {
-	responseChan := make(chan *SetLoadBalancerAutoReleaseTimeResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.SetLoadBalancerAutoReleaseTime(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// SetLoadBalancerAutoReleaseTimeWithCallback invokes the slb.SetLoadBalancerAutoReleaseTime API asynchronously
-// api document: https://help.aliyun.com/api/slb/setloadbalancerautoreleasetime.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) SetLoadBalancerAutoReleaseTimeWithCallback(request *SetLoadBalancerAutoReleaseTimeRequest, callback func(response *SetLoadBalancerAutoReleaseTimeResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *SetLoadBalancerAutoReleaseTimeResponse
-		var err error
-		defer close(result)
-		response, err = client.SetLoadBalancerAutoReleaseTime(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// SetLoadBalancerAutoReleaseTimeRequest is the request struct for api SetLoadBalancerAutoReleaseTime
-type SetLoadBalancerAutoReleaseTimeRequest struct {
-	*requests.RpcRequest
-	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"`
-	AutoReleaseTime      requests.Integer `position:"Query" name:"AutoReleaseTime"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tags                 string           `position:"Query" name:"Tags"`
-}
-
-// SetLoadBalancerAutoReleaseTimeResponse is the response struct for api SetLoadBalancerAutoReleaseTime
-type SetLoadBalancerAutoReleaseTimeResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-}
-
-// CreateSetLoadBalancerAutoReleaseTimeRequest creates a request to invoke SetLoadBalancerAutoReleaseTime API
-func CreateSetLoadBalancerAutoReleaseTimeRequest() (request *SetLoadBalancerAutoReleaseTimeRequest) {
-	request = &SetLoadBalancerAutoReleaseTimeRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Slb", "2014-05-15", "SetLoadBalancerAutoReleaseTime", "slb", "openAPI")
-	return
-}
-
-// CreateSetLoadBalancerAutoReleaseTimeResponse creates a response to parse from SetLoadBalancerAutoReleaseTime response
-func CreateSetLoadBalancerAutoReleaseTimeResponse() (response *SetLoadBalancerAutoReleaseTimeResponse) {
-	response = &SetLoadBalancerAutoReleaseTimeResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 1 - 0
services/slb/start_load_balancer_listener.go

@@ -83,6 +83,7 @@ type StartLoadBalancerListenerRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 1 - 0
services/slb/stop_load_balancer_listener.go

@@ -83,6 +83,7 @@ type StopLoadBalancerListenerRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ListenerProtocol     string           `position:"Query" name:"ListenerProtocol"`
 	Tags                 string           `position:"Query" name:"Tags"`
 }
 

+ 5 - 3
services/slb/struct_acl.go

@@ -17,7 +17,9 @@ package slb
 
 // Acl is a nested struct in slb response
 type Acl struct {
-	AclId            string `json:"AclId" xml:"AclId"`
-	AclName          string `json:"AclName" xml:"AclName"`
-	AddressIPVersion string `json:"AddressIPVersion" xml:"AddressIPVersion"`
+	AclId            string                           `json:"AclId" xml:"AclId"`
+	AclName          string                           `json:"AclName" xml:"AclName"`
+	AddressIPVersion string                           `json:"AddressIPVersion" xml:"AddressIPVersion"`
+	ResourceGroupId  string                           `json:"ResourceGroupId" xml:"ResourceGroupId"`
+	Tags             TagsInDescribeAccessControlLists `json:"Tags" xml:"Tags"`
 }

+ 5 - 3
services/slb/struct_load_balancers_in_describe_load_balancers_related_ecs.go → services/slb/struct_available_resource.go

@@ -15,7 +15,9 @@ package slb
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// LoadBalancersInDescribeLoadBalancersRelatedEcs is a nested struct in slb response
-type LoadBalancersInDescribeLoadBalancersRelatedEcs struct {
-	LoadBalancer []LoadBalancer `json:"LoadBalancer" xml:"LoadBalancer"`
+// AvailableResource is a nested struct in slb response
+type AvailableResource struct {
+	MasterZoneId     string           `json:"MasterZoneId" xml:"MasterZoneId"`
+	SlaveZoneId      string           `json:"SlaveZoneId" xml:"SlaveZoneId"`
+	SupportResources SupportResources `json:"SupportResources" xml:"SupportResources"`
 }

+ 3 - 5
services/slb/struct_quota.go → services/slb/struct_available_resources.go

@@ -15,9 +15,7 @@ package slb
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// Quota is a nested struct in slb response
-type Quota struct {
-	Max       string `json:"Max" xml:"Max"`
-	QuotaName string `json:"QuotaName" xml:"QuotaName"`
-	Comment   string `json:"Comment" xml:"Comment"`
+// AvailableResources is a nested struct in slb response
+type AvailableResources struct {
+	AvailableResource []AvailableResource `json:"AvailableResource" xml:"AvailableResource"`
 }

+ 2 - 2
services/slb/struct_backend_server.go

@@ -18,14 +18,14 @@ package slb
 // BackendServer is a nested struct in slb response
 type BackendServer struct {
 	Port               int    `json:"Port" xml:"Port"`
+	Protocol           string `json:"Protocol" xml:"Protocol"`
 	ServerIp           string `json:"ServerIp" xml:"ServerIp"`
 	ServerHealthStatus string `json:"ServerHealthStatus" xml:"ServerHealthStatus"`
-	VmName             string `json:"VmName" xml:"VmName"`
 	ServerId           string `json:"ServerId" xml:"ServerId"`
-	NetworkType        string `json:"NetworkType" xml:"NetworkType"`
 	VpcId              string `json:"VpcId" xml:"VpcId"`
 	ListenerPort       int    `json:"ListenerPort" xml:"ListenerPort"`
 	Weight             int    `json:"Weight" xml:"Weight"`
+	Description        string `json:"Description" xml:"Description"`
 	EniHost            string `json:"EniHost" xml:"EniHost"`
 	Type               string `json:"Type" xml:"Type"`
 }

+ 6 - 6
services/slb/struct_backend_server_in_add_backend_servers.go

@@ -17,10 +17,10 @@ package slb
 
 // BackendServerInAddBackendServers is a nested struct in slb response
 type BackendServerInAddBackendServers struct {
-	ServerId string `json:"ServerId" xml:"ServerId"`
-	Weight   string `json:"Weight" xml:"Weight"`
-	ServerIp string `json:"ServerIp" xml:"ServerIp"`
-	VpcId    string `json:"VpcId" xml:"VpcId"`
-	EniHost  string `json:"EniHost" xml:"EniHost"`
-	Type     string `json:"Type" xml:"Type"`
+	ServerId    string `json:"ServerId" xml:"ServerId"`
+	Weight      string `json:"Weight" xml:"Weight"`
+	ServerIp    string `json:"ServerIp" xml:"ServerIp"`
+	VpcId       string `json:"VpcId" xml:"VpcId"`
+	Type        string `json:"Type" xml:"Type"`
+	Description string `json:"Description" xml:"Description"`
 }

+ 6 - 6
services/slb/struct_backend_server_in_set_backend_servers.go

@@ -17,10 +17,10 @@ package slb
 
 // BackendServerInSetBackendServers is a nested struct in slb response
 type BackendServerInSetBackendServers struct {
-	ServerId string `json:"ServerId" xml:"ServerId"`
-	Weight   string `json:"Weight" xml:"Weight"`
-	ServerIp string `json:"ServerIp" xml:"ServerIp"`
-	VpcId    string `json:"VpcId" xml:"VpcId"`
-	EniHost  string `json:"EniHost" xml:"EniHost"`
-	Type     string `json:"Type" xml:"Type"`
+	ServerId    string `json:"ServerId" xml:"ServerId"`
+	Weight      string `json:"Weight" xml:"Weight"`
+	ServerIp    string `json:"ServerIp" xml:"ServerIp"`
+	VpcId       string `json:"VpcId" xml:"VpcId"`
+	Type        string `json:"Type" xml:"Type"`
+	Description string `json:"Description" xml:"Description"`
 }

+ 11 - 10
services/slb/struct_ca_certificate.go

@@ -17,14 +17,15 @@ package slb
 
 // CACertificate is a nested struct in slb response
 type CACertificate struct {
-	RegionId          string `json:"RegionId" xml:"RegionId"`
-	CACertificateId   string `json:"CACertificateId" xml:"CACertificateId"`
-	CACertificateName string `json:"CACertificateName" xml:"CACertificateName"`
-	Fingerprint       string `json:"Fingerprint" xml:"Fingerprint"`
-	ResourceGroupId   string `json:"ResourceGroupId" xml:"ResourceGroupId"`
-	CreateTime        string `json:"CreateTime" xml:"CreateTime"`
-	CreateTimeStamp   int    `json:"CreateTimeStamp" xml:"CreateTimeStamp"`
-	ExpireTime        string `json:"ExpireTime" xml:"ExpireTime"`
-	ExpireTimeStamp   int    `json:"ExpireTimeStamp" xml:"ExpireTimeStamp"`
-	CommonName        string `json:"CommonName" xml:"CommonName"`
+	RegionId          string                       `json:"RegionId" xml:"RegionId"`
+	CACertificateId   string                       `json:"CACertificateId" xml:"CACertificateId"`
+	CACertificateName string                       `json:"CACertificateName" xml:"CACertificateName"`
+	Fingerprint       string                       `json:"Fingerprint" xml:"Fingerprint"`
+	ResourceGroupId   string                       `json:"ResourceGroupId" xml:"ResourceGroupId"`
+	CreateTime        string                       `json:"CreateTime" xml:"CreateTime"`
+	CreateTimeStamp   int                          `json:"CreateTimeStamp" xml:"CreateTimeStamp"`
+	ExpireTime        string                       `json:"ExpireTime" xml:"ExpireTime"`
+	ExpireTimeStamp   int                          `json:"ExpireTimeStamp" xml:"ExpireTimeStamp"`
+	CommonName        string                       `json:"CommonName" xml:"CommonName"`
+	Tags              TagsInDescribeCACertificates `json:"Tags" xml:"Tags"`
 }

+ 1 - 0
services/slb/struct_listener_port_and_protocol.go

@@ -21,4 +21,5 @@ type ListenerPortAndProtocol struct {
 	ListenerProtocol string `json:"ListenerProtocol" xml:"ListenerProtocol"`
 	ListenerForward  string `json:"ListenerForward" xml:"ListenerForward"`
 	ForwardPort      int    `json:"ForwardPort" xml:"ForwardPort"`
+	Description      string `json:"Description" xml:"Description"`
 }

+ 19 - 22
services/slb/struct_load_balancer.go

@@ -17,26 +17,23 @@ package slb
 
 // LoadBalancer is a nested struct in slb response
 type LoadBalancer struct {
-	Count                    int                                                       `json:"Count" xml:"Count"`
-	SlaveZoneId              string                                                    `json:"SlaveZoneId" xml:"SlaveZoneId"`
-	LoadBalancerStatus       string                                                    `json:"LoadBalancerStatus" xml:"LoadBalancerStatus"`
-	VSwitchId                string                                                    `json:"VSwitchId" xml:"VSwitchId"`
-	MasterZoneId             string                                                    `json:"MasterZoneId" xml:"MasterZoneId"`
-	PayType                  string                                                    `json:"PayType" xml:"PayType"`
-	RegionIdAlias            string                                                    `json:"RegionIdAlias" xml:"RegionIdAlias"`
-	CreateTime               string                                                    `json:"CreateTime" xml:"CreateTime"`
-	Address                  string                                                    `json:"Address" xml:"Address"`
-	LoadBalancerId           string                                                    `json:"LoadBalancerId" xml:"LoadBalancerId"`
-	AddressIPVersion         string                                                    `json:"AddressIPVersion" xml:"AddressIPVersion"`
-	CreateTimeStamp          int                                                       `json:"CreateTimeStamp" xml:"CreateTimeStamp"`
-	RegionId                 string                                                    `json:"RegionId" xml:"RegionId"`
-	ResourceGroupId          string                                                    `json:"ResourceGroupId" xml:"ResourceGroupId"`
-	LoadBalancerName         string                                                    `json:"LoadBalancerName" xml:"LoadBalancerName"`
-	InternetChargeType       string                                                    `json:"InternetChargeType" xml:"InternetChargeType"`
-	AddressType              string                                                    `json:"AddressType" xml:"AddressType"`
-	VpcId                    string                                                    `json:"VpcId" xml:"VpcId"`
-	NetworkType              string                                                    `json:"NetworkType" xml:"NetworkType"`
-	BackendServers           BackendServersInDescribeLoadBalancersRelatedEcs           `json:"BackendServers" xml:"BackendServers"`
-	VServerGroups            VServerGroupsInDescribeLoadBalancersRelatedEcs            `json:"VServerGroups" xml:"VServerGroups"`
-	MasterSlaveVServerGroups MasterSlaveVServerGroupsInDescribeLoadBalancersRelatedEcs `json:"MasterSlaveVServerGroups" xml:"MasterSlaveVServerGroups"`
+	LoadBalancerId     string                      `json:"LoadBalancerId" xml:"LoadBalancerId"`
+	LoadBalancerName   string                      `json:"LoadBalancerName" xml:"LoadBalancerName"`
+	LoadBalancerStatus string                      `json:"LoadBalancerStatus" xml:"LoadBalancerStatus"`
+	Address            string                      `json:"Address" xml:"Address"`
+	AddressType        string                      `json:"AddressType" xml:"AddressType"`
+	RegionId           string                      `json:"RegionId" xml:"RegionId"`
+	RegionIdAlias      string                      `json:"RegionIdAlias" xml:"RegionIdAlias"`
+	VSwitchId          string                      `json:"VSwitchId" xml:"VSwitchId"`
+	VpcId              string                      `json:"VpcId" xml:"VpcId"`
+	NetworkType        string                      `json:"NetworkType" xml:"NetworkType"`
+	MasterZoneId       string                      `json:"MasterZoneId" xml:"MasterZoneId"`
+	SlaveZoneId        string                      `json:"SlaveZoneId" xml:"SlaveZoneId"`
+	InternetChargeType string                      `json:"InternetChargeType" xml:"InternetChargeType"`
+	CreateTime         string                      `json:"CreateTime" xml:"CreateTime"`
+	CreateTimeStamp    int                         `json:"CreateTimeStamp" xml:"CreateTimeStamp"`
+	PayType            string                      `json:"PayType" xml:"PayType"`
+	ResourceGroupId    string                      `json:"ResourceGroupId" xml:"ResourceGroupId"`
+	AddressIPVersion   string                      `json:"AddressIPVersion" xml:"AddressIPVersion"`
+	Tags               TagsInDescribeLoadBalancers `json:"Tags" xml:"Tags"`
 }

+ 2 - 2
services/slb/struct_load_balancers_in_describe_load_balancers.go → services/slb/struct_load_balancers.go

@@ -15,7 +15,7 @@ package slb
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// LoadBalancersInDescribeLoadBalancers is a nested struct in slb response
-type LoadBalancersInDescribeLoadBalancers struct {
+// LoadBalancers is a nested struct in slb response
+type LoadBalancers struct {
 	LoadBalancer []LoadBalancer `json:"LoadBalancer" xml:"LoadBalancer"`
 }

+ 10 - 9
services/slb/struct_master_slave_backend_server.go

@@ -17,13 +17,14 @@ package slb
 
 // MasterSlaveBackendServer is a nested struct in slb response
 type MasterSlaveBackendServer struct {
-	Port       int    `json:"Port" xml:"Port"`
-	ServerIp   string `json:"ServerIp" xml:"ServerIp"`
-	ServerId   string `json:"ServerId" xml:"ServerId"`
-	ServerType string `json:"ServerType" xml:"ServerType"`
-	VpcId      string `json:"VpcId" xml:"VpcId"`
-	Weight     int    `json:"Weight" xml:"Weight"`
-	EniHost    string `json:"EniHost" xml:"EniHost"`
-	IsBackup   int    `json:"IsBackup" xml:"IsBackup"`
-	Type       string `json:"Type" xml:"Type"`
+	Port        int    `json:"Port" xml:"Port"`
+	ServerIp    string `json:"ServerIp" xml:"ServerIp"`
+	ServerId    string `json:"ServerId" xml:"ServerId"`
+	ServerType  string `json:"ServerType" xml:"ServerType"`
+	VpcId       string `json:"VpcId" xml:"VpcId"`
+	Weight      int    `json:"Weight" xml:"Weight"`
+	Description string `json:"Description" xml:"Description"`
+	IsBackup    int    `json:"IsBackup" xml:"IsBackup"`
+	EniHost     string `json:"EniHost" xml:"EniHost"`
+	Type        string `json:"Type" xml:"Type"`
 }

+ 2 - 5
services/slb/struct_master_slave_v_server_group.go

@@ -17,9 +17,6 @@ package slb
 
 // MasterSlaveVServerGroup is a nested struct in slb response
 type MasterSlaveVServerGroup struct {
-	MasterSlaveVServerGroupId   string                                          `json:"MasterSlaveVServerGroupId" xml:"MasterSlaveVServerGroupId"`
-	MasterSlaveVServerGroupName string                                          `json:"MasterSlaveVServerGroupName" xml:"MasterSlaveVServerGroupName"`
-	GroupName                   string                                          `json:"GroupName" xml:"GroupName"`
-	GroupId                     string                                          `json:"GroupId" xml:"GroupId"`
-	BackendServers              BackendServersInDescribeLoadBalancersRelatedEcs `json:"BackendServers" xml:"BackendServers"`
+	MasterSlaveVServerGroupId   string `json:"MasterSlaveVServerGroupId" xml:"MasterSlaveVServerGroupId"`
+	MasterSlaveVServerGroupName string `json:"MasterSlaveVServerGroupName" xml:"MasterSlaveVServerGroupName"`
 }

+ 2 - 2
services/slb/struct_master_slave_v_server_groups_in_describe_load_balancers_related_ecs.go → services/slb/struct_master_slave_v_server_groups.go

@@ -15,7 +15,7 @@ package slb
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// MasterSlaveVServerGroupsInDescribeLoadBalancersRelatedEcs is a nested struct in slb response
-type MasterSlaveVServerGroupsInDescribeLoadBalancersRelatedEcs struct {
+// MasterSlaveVServerGroups is a nested struct in slb response
+type MasterSlaveVServerGroups struct {
 	MasterSlaveVServerGroup []MasterSlaveVServerGroup `json:"MasterSlaveVServerGroup" xml:"MasterSlaveVServerGroup"`
 }

+ 0 - 21
services/slb/struct_master_slave_v_server_groups_in_describe_master_slave_v_server_groups.go

@@ -1,21 +0,0 @@
-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.
-
-// MasterSlaveVServerGroupsInDescribeMasterSlaveVServerGroups is a nested struct in slb response
-type MasterSlaveVServerGroupsInDescribeMasterSlaveVServerGroups struct {
-	MasterSlaveVServerGroup []MasterSlaveVServerGroup `json:"MasterSlaveVServerGroup" xml:"MasterSlaveVServerGroup"`
-}

+ 1 - 0
services/slb/struct_server_certificate.go

@@ -32,4 +32,5 @@ type ServerCertificate struct {
 	ExpireTimeStamp         int                                                 `json:"ExpireTimeStamp" xml:"ExpireTimeStamp"`
 	CommonName              string                                              `json:"CommonName" xml:"CommonName"`
 	SubjectAlternativeNames SubjectAlternativeNamesInDescribeServerCertificates `json:"SubjectAlternativeNames" xml:"SubjectAlternativeNames"`
+	Tags                    TagsInDescribeServerCertificates                    `json:"Tags" xml:"Tags"`
 }

+ 4 - 3
services/slb/struct_backend_servers_in_describe_load_balancers_related_ecs.go → services/slb/struct_support_resource.go

@@ -15,7 +15,8 @@ package slb
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// BackendServersInDescribeLoadBalancersRelatedEcs is a nested struct in slb response
-type BackendServersInDescribeLoadBalancersRelatedEcs struct {
-	BackendServer []BackendServer `json:"BackendServer" xml:"BackendServer"`
+// SupportResource is a nested struct in slb response
+type SupportResource struct {
+	AddressType      string `json:"AddressType" xml:"AddressType"`
+	AddressIPVersion string `json:"AddressIPVersion" xml:"AddressIPVersion"`
 }

+ 21 - 0
services/slb/struct_support_resources.go

@@ -0,0 +1,21 @@
+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.
+
+// SupportResources is a nested struct in slb response
+type SupportResources struct {
+	SupportResource []SupportResource `json:"SupportResource" xml:"SupportResource"`
+}

+ 22 - 0
services/slb/struct_tag.go

@@ -0,0 +1,22 @@
+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.
+
+// Tag is a nested struct in slb response
+type Tag struct {
+	TagValue string `json:"TagValue" xml:"TagValue"`
+	TagKey   string `json:"TagKey" xml:"TagKey"`
+}

+ 21 - 0
services/slb/struct_tags_in_describe_access_control_lists.go

@@ -0,0 +1,21 @@
+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.
+
+// TagsInDescribeAccessControlLists is a nested struct in slb response
+type TagsInDescribeAccessControlLists struct {
+	Tag []Tag `json:"Tag" xml:"Tag"`
+}

+ 21 - 0
services/slb/struct_tags_in_describe_ca_certificates.go

@@ -0,0 +1,21 @@
+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.
+
+// TagsInDescribeCACertificates is a nested struct in slb response
+type TagsInDescribeCACertificates struct {
+	Tag []Tag `json:"Tag" xml:"Tag"`
+}

+ 3 - 3
services/slb/struct_quotas.go → services/slb/struct_tags_in_describe_load_balancers.go

@@ -15,7 +15,7 @@ package slb
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// Quotas is a nested struct in slb response
-type Quotas struct {
-	Quota []Quota `json:"Quota" xml:"Quota"`
+// TagsInDescribeLoadBalancers is a nested struct in slb response
+type TagsInDescribeLoadBalancers struct {
+	Tag []Tag `json:"Tag" xml:"Tag"`
 }

+ 21 - 0
services/slb/struct_tags_in_describe_server_certificates.go

@@ -0,0 +1,21 @@
+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.
+
+// TagsInDescribeServerCertificates is a nested struct in slb response
+type TagsInDescribeServerCertificates struct {
+	Tag []Tag `json:"Tag" xml:"Tag"`
+}

+ 3 - 6
services/slb/struct_v_server_group.go

@@ -17,10 +17,7 @@ package slb
 
 // VServerGroup is a nested struct in slb response
 type VServerGroup struct {
-	VServerGroupId    string                                          `json:"VServerGroupId" xml:"VServerGroupId"`
-	GroupName         string                                          `json:"GroupName" xml:"GroupName"`
-	GroupId           string                                          `json:"GroupId" xml:"GroupId"`
-	VServerGroupName  string                                          `json:"VServerGroupName" xml:"VServerGroupName"`
-	AssociatedObjects AssociatedObjects                               `json:"AssociatedObjects" xml:"AssociatedObjects"`
-	BackendServers    BackendServersInDescribeLoadBalancersRelatedEcs `json:"BackendServers" xml:"BackendServers"`
+	VServerGroupId    string            `json:"VServerGroupId" xml:"VServerGroupId"`
+	VServerGroupName  string            `json:"VServerGroupName" xml:"VServerGroupName"`
+	AssociatedObjects AssociatedObjects `json:"AssociatedObjects" xml:"AssociatedObjects"`
 }

+ 2 - 2
services/slb/struct_v_server_groups_in_describe_v_server_groups.go → services/slb/struct_v_server_groups.go

@@ -15,7 +15,7 @@ package slb
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// VServerGroupsInDescribeVServerGroups is a nested struct in slb response
-type VServerGroupsInDescribeVServerGroups struct {
+// VServerGroups is a nested struct in slb response
+type VServerGroups struct {
 	VServerGroup []VServerGroup `json:"VServerGroup" xml:"VServerGroup"`
 }

+ 0 - 21
services/slb/struct_v_server_groups_in_describe_load_balancers_related_ecs.go

@@ -1,21 +0,0 @@
-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.
-
-// VServerGroupsInDescribeLoadBalancersRelatedEcs is a nested struct in slb response
-type VServerGroupsInDescribeLoadBalancersRelatedEcs struct {
-	VServerGroup []VServerGroup `json:"VServerGroup" xml:"VServerGroup"`
-}