瀏覽代碼

ECS SDK Auto Released By corey.ql,Version:1.25.1

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 年之前
父節點
當前提交
9280f912e9
共有 45 個文件被更改,包括 728 次插入426 次删除
  1. 4 0
      ChangeLog.txt
  2. 7 10
      services/ecs/add_tags.go
  3. 8 11
      services/ecs/copy_image.go
  4. 11 14
      services/ecs/create_disk.go
  5. 14 17
      services/ecs/create_image.go
  6. 11 14
      services/ecs/create_instance.go
  7. 12 15
      services/ecs/create_key_pair.go
  8. 7 10
      services/ecs/create_launch_template.go
  9. 1 1
      services/ecs/create_nat_gateway.go
  10. 18 21
      services/ecs/create_network_interface.go
  11. 1 1
      services/ecs/create_route_entry.go
  12. 16 19
      services/ecs/create_security_group.go
  13. 15 18
      services/ecs/create_snapshot.go
  14. 0 1
      services/ecs/delete_physical_connection.go
  15. 1 1
      services/ecs/delete_route_entry.go
  16. 1 1
      services/ecs/describe_access_points.go
  17. 108 0
      services/ecs/describe_account_attributes.go
  18. 1 0
      services/ecs/describe_available_resource.go
  19. 38 41
      services/ecs/describe_disks.go
  20. 113 0
      services/ecs/describe_eni_monitor_data.go
  21. 1 1
      services/ecs/describe_ha_vips.go
  22. 1 1
      services/ecs/describe_image_support_instance_types.go
  23. 8 11
      services/ecs/describe_images.go
  24. 46 49
      services/ecs/describe_instances.go
  25. 15 18
      services/ecs/describe_key_pairs.go
  26. 16 19
      services/ecs/describe_launch_templates.go
  27. 22 25
      services/ecs/describe_network_interfaces.go
  28. 1 1
      services/ecs/describe_physical_connections.go
  29. 13 16
      services/ecs/describe_resource_by_tags.go
  30. 1 1
      services/ecs/describe_router_interfaces.go
  31. 22 25
      services/ecs/describe_security_groups.go
  32. 29 32
      services/ecs/describe_snapshots.go
  33. 14 17
      services/ecs/describe_tags.go
  34. 1 1
      services/ecs/describe_virtual_border_routers.go
  35. 1 1
      services/ecs/describe_virtual_border_routers_for_physical_connection.go
  36. 3 3
      services/ecs/import_image.go
  37. 1 0
      services/ecs/modify_vpc_attribute.go
  38. 7 10
      services/ecs/remove_tags.go
  39. 22 0
      services/ecs/struct_account_attribute_item.go
  40. 21 0
      services/ecs/struct_account_attribute_items.go
  41. 21 0
      services/ecs/struct_attribute_values.go
  42. 28 0
      services/ecs/struct_eni_monitor_data.go
  43. 21 0
      services/ecs/struct_monitor_data_in_describe_eni_monitor_data.go
  44. 1 0
      services/ecs/struct_snapshot_link.go
  45. 25 0
      services/ecs/struct_value_item.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2018-08-15 Version: 1.25.1
+1, Update ecs tag to 20 maximum
+
+
 2018-08-13 Version: 1.25.0
 1, New userinfo fields for registerface input parameter.
 2, New userinfo fields for updateface input parameter.

+ 7 - 10
services/ecs/add_tags.go

@@ -76,21 +76,18 @@ func (client *Client) AddTagsWithCallback(request *AddTagsRequest, callback func
 // AddTagsRequest is the request struct for api AddTags
 type AddTagsRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceId           string           `position:"Query" name:"ResourceId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
+	Tag                  *[]AddTagsTag    `position:"Query" name:"Tag"  type:"Repeated"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	ResourceType         string           `position:"Query" name:"ResourceType"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+}
+
+// AddTagsTag is a repeated param struct in AddTagsRequest
+type AddTagsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // AddTagsResponse is the response struct for api AddTags

+ 8 - 11
services/ecs/copy_image.go

@@ -76,25 +76,22 @@ func (client *Client) CopyImageWithCallback(request *CopyImageRequest, callback
 // CopyImageRequest is the request struct for api CopyImage
 type CopyImageRequest struct {
 	*requests.RpcRequest
-	Tag4Value              string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ImageId                string           `position:"Query" name:"ImageId"`
-	Tag2Key                string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key                string           `position:"Query" name:"Tag.5.Key"`
+	Encrypted              requests.Boolean `position:"Query" name:"Encrypted"`
 	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
 	DestinationImageName   string           `position:"Query" name:"DestinationImageName"`
 	DestinationRegionId    string           `position:"Query" name:"DestinationRegionId"`
 	OwnerAccount           string           `position:"Query" name:"OwnerAccount"`
-	Tag3Key                string           `position:"Query" name:"Tag.3.Key"`
+	Tag                    *[]CopyImageTag  `position:"Query" name:"Tag"  type:"Repeated"`
 	OwnerId                requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value              string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key                string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value              string           `position:"Query" name:"Tag.1.Value"`
-	Encrypted              requests.Boolean `position:"Query" name:"Encrypted"`
-	Tag2Value              string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key                string           `position:"Query" name:"Tag.4.Key"`
 	DestinationDescription string           `position:"Query" name:"DestinationDescription"`
-	Tag3Value              string           `position:"Query" name:"Tag.3.Value"`
+}
+
+// CopyImageTag is a repeated param struct in CopyImageRequest
+type CopyImageTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // CopyImageResponse is the response struct for api CopyImage

+ 11 - 14
services/ecs/create_disk.go

@@ -76,29 +76,26 @@ func (client *Client) CreateDiskWithCallback(request *CreateDiskRequest, callbac
 // CreateDiskRequest is the request struct for api CreateDisk
 type CreateDiskRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	SnapshotId           string           `position:"Query" name:"SnapshotId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	Description          string           `position:"Query" name:"Description"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	DiskName             string           `position:"Query" name:"DiskName"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	DiskCategory         string           `position:"Query" name:"DiskCategory"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
 	Size                 requests.Integer `position:"Query" name:"Size"`
 	Encrypted            requests.Boolean `position:"Query" name:"Encrypted"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
+	DiskCategory         string           `position:"Query" name:"DiskCategory"`
 	ZoneId               string           `position:"Query" name:"ZoneId"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
+	Tag                  *[]CreateDiskTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// CreateDiskTag is a repeated param struct in CreateDiskRequest
+type CreateDiskTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // CreateDiskResponse is the response struct for api CreateDisk

+ 14 - 17
services/ecs/create_image.go

@@ -77,37 +77,34 @@ func (client *Client) CreateImageWithCallback(request *CreateImageRequest, callb
 type CreateImageRequest struct {
 	*requests.RpcRequest
 	DiskDeviceMapping    *[]CreateImageDiskDeviceMapping `position:"Query" name:"DiskDeviceMapping"  type:"Repeated"`
-	Tag4Value            string                          `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer                `position:"Query" name:"ResourceOwnerId"`
 	SnapshotId           string                          `position:"Query" name:"SnapshotId"`
-	Tag2Key              string                          `position:"Query" name:"Tag.2.Key"`
+	ResourceOwnerAccount string                          `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string                          `position:"Query" name:"ClientToken"`
+	OwnerAccount         string                          `position:"Query" name:"OwnerAccount"`
 	Description          string                          `position:"Query" name:"Description"`
-	Tag3Key              string                          `position:"Query" name:"Tag.3.Key"`
+	OwnerId              requests.Integer                `position:"Query" name:"OwnerId"`
 	Platform             string                          `position:"Query" name:"Platform"`
-	Tag1Value            string                          `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId      string                          `position:"Query" name:"ResourceGroupId"`
-	ImageName            string                          `position:"Query" name:"ImageName"`
-	Tag3Value            string                          `position:"Query" name:"Tag.3.Value"`
-	Architecture         string                          `position:"Query" name:"Architecture"`
-	Tag5Key              string                          `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string                          `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string                          `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer                `position:"Query" name:"OwnerId"`
-	Tag5Value            string                          `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string                          `position:"Query" name:"Tag.1.Key"`
 	InstanceId           string                          `position:"Query" name:"InstanceId"`
-	Tag2Value            string                          `position:"Query" name:"Tag.2.Value"`
+	ImageName            string                          `position:"Query" name:"ImageName"`
 	ImageVersion         string                          `position:"Query" name:"ImageVersion"`
-	Tag4Key              string                          `position:"Query" name:"Tag.4.Key"`
+	Tag                  *[]CreateImageTag               `position:"Query" name:"Tag"  type:"Repeated"`
+	Architecture         string                          `position:"Query" name:"Architecture"`
 }
 
 // CreateImageDiskDeviceMapping is a repeated param struct in CreateImageRequest
 type CreateImageDiskDeviceMapping struct {
-	Size       string `name:"Size"`
 	SnapshotId string `name:"SnapshotId"`
-	Device     string `name:"Device"`
+	Size       string `name:"Size"`
 	DiskType   string `name:"DiskType"`
+	Device     string `name:"Device"`
+}
+
+// CreateImageTag is a repeated param struct in CreateImageRequest
+type CreateImageTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // CreateImageResponse is the response struct for api CreateImage

+ 11 - 14
services/ecs/create_instance.go

@@ -76,23 +76,19 @@ func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest,
 // CreateInstanceRequest is the request struct for api CreateInstance
 type CreateInstanceRequest struct {
 	*requests.RpcRequest
-	Tag4Value                   string                    `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId             requests.Integer          `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key                     string                    `position:"Query" name:"Tag.2.Key"`
 	HpcClusterId                string                    `position:"Query" name:"HpcClusterId"`
-	Tag3Key                     string                    `position:"Query" name:"Tag.3.Key"`
 	SecurityEnhancementStrategy string                    `position:"Query" name:"SecurityEnhancementStrategy"`
 	KeyPairName                 string                    `position:"Query" name:"KeyPairName"`
 	SpotPriceLimit              requests.Float            `position:"Query" name:"SpotPriceLimit"`
-	Tag1Value                   string                    `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId             string                    `position:"Query" name:"ResourceGroupId"`
 	HostName                    string                    `position:"Query" name:"HostName"`
 	Password                    string                    `position:"Query" name:"Password"`
+	Tag                         *[]CreateInstanceTag      `position:"Query" name:"Tag"  type:"Repeated"`
 	AutoRenewPeriod             requests.Integer          `position:"Query" name:"AutoRenewPeriod"`
 	NodeControllerId            string                    `position:"Query" name:"NodeControllerId"`
 	Period                      requests.Integer          `position:"Query" name:"Period"`
 	DryRun                      requests.Boolean          `position:"Query" name:"DryRun"`
-	Tag5Key                     string                    `position:"Query" name:"Tag.5.Key"`
 	OwnerId                     requests.Integer          `position:"Query" name:"OwnerId"`
 	VSwitchId                   string                    `position:"Query" name:"VSwitchId"`
 	PrivateIpAddress            string                    `position:"Query" name:"PrivateIpAddress"`
@@ -102,7 +98,6 @@ type CreateInstanceRequest struct {
 	AutoRenew                   requests.Boolean          `position:"Query" name:"AutoRenew"`
 	InternetChargeType          string                    `position:"Query" name:"InternetChargeType"`
 	ZoneId                      string                    `position:"Query" name:"ZoneId"`
-	Tag4Key                     string                    `position:"Query" name:"Tag.4.Key"`
 	InternetMaxBandwidthIn      requests.Integer          `position:"Query" name:"InternetMaxBandwidthIn"`
 	UseAdditionalService        requests.Boolean          `position:"Query" name:"UseAdditionalService"`
 	ImageId                     string                    `position:"Query" name:"ImageId"`
@@ -118,7 +113,6 @@ type CreateInstanceRequest struct {
 	PasswordInherit             requests.Boolean          `position:"Query" name:"PasswordInherit"`
 	InstanceType                string                    `position:"Query" name:"InstanceType"`
 	InstanceChargeType          string                    `position:"Query" name:"InstanceChargeType"`
-	Tag3Value                   string                    `position:"Query" name:"Tag.3.Value"`
 	DeploymentSetId             string                    `position:"Query" name:"DeploymentSetId"`
 	InnerIpAddress              string                    `position:"Query" name:"InnerIpAddress"`
 	ResourceOwnerAccount        string                    `position:"Query" name:"ResourceOwnerAccount"`
@@ -128,23 +122,26 @@ type CreateInstanceRequest struct {
 	DedicatedHostId             string                    `position:"Query" name:"DedicatedHostId"`
 	ClusterId                   string                    `position:"Query" name:"ClusterId"`
 	DataDisk                    *[]CreateInstanceDataDisk `position:"Query" name:"DataDisk"  type:"Repeated"`
-	Tag5Value                   string                    `position:"Query" name:"Tag.5.Value"`
-	Tag1Key                     string                    `position:"Query" name:"Tag.1.Key"`
 	SystemDiskSize              requests.Integer          `position:"Query" name:"SystemDisk.Size"`
-	Tag2Value                   string                    `position:"Query" name:"Tag.2.Value"`
 	SystemDiskDescription       string                    `position:"Query" name:"SystemDisk.Description"`
 }
 
+// CreateInstanceTag is a repeated param struct in CreateInstanceRequest
+type CreateInstanceTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
 // CreateInstanceDataDisk is a repeated param struct in CreateInstanceRequest
 type CreateInstanceDataDisk struct {
-	Size               string `name:"Size"`
-	SnapshotId         string `name:"SnapshotId"`
-	Category           string `name:"Category"`
 	DiskName           string `name:"DiskName"`
+	SnapshotId         string `name:"SnapshotId"`
+	Size               string `name:"Size"`
+	Encrypted          string `name:"Encrypted"`
 	Description        string `name:"Description"`
+	Category           string `name:"Category"`
 	Device             string `name:"Device"`
 	DeleteWithInstance string `name:"DeleteWithInstance"`
-	Encrypted          string `name:"Encrypted"`
 }
 
 // CreateInstanceResponse is the response struct for api CreateInstance

+ 12 - 15
services/ecs/create_key_pair.go

@@ -76,21 +76,18 @@ func (client *Client) CreateKeyPairWithCallback(request *CreateKeyPairRequest, c
 // CreateKeyPairRequest is the request struct for api CreateKeyPair
 type CreateKeyPairRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	KeyPairName          string           `position:"Query" name:"KeyPairName"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+	ResourceGroupId      string              `position:"Query" name:"ResourceGroupId"`
+	ResourceOwnerId      requests.Integer    `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string              `position:"Query" name:"ResourceOwnerAccount"`
+	KeyPairName          string              `position:"Query" name:"KeyPairName"`
+	Tag                  *[]CreateKeyPairTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer    `position:"Query" name:"OwnerId"`
+}
+
+// CreateKeyPairTag is a repeated param struct in CreateKeyPairRequest
+type CreateKeyPairTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // CreateKeyPairResponse is the response struct for api CreateKeyPair

+ 7 - 10
services/ecs/create_launch_template.go

@@ -78,31 +78,26 @@ type CreateLaunchTemplateRequest struct {
 	*requests.RpcRequest
 	LaunchTemplateName          string                                  `position:"Query" name:"LaunchTemplateName"`
 	ResourceOwnerId             requests.Integer                        `position:"Query" name:"ResourceOwnerId"`
-	TemplateTag4Key             string                                  `position:"Query" name:"TemplateTag.4.Key"`
 	SecurityEnhancementStrategy string                                  `position:"Query" name:"SecurityEnhancementStrategy"`
 	NetworkType                 string                                  `position:"Query" name:"NetworkType"`
 	KeyPairName                 string                                  `position:"Query" name:"KeyPairName"`
 	SpotPriceLimit              requests.Float                          `position:"Query" name:"SpotPriceLimit"`
 	ImageOwnerAlias             string                                  `position:"Query" name:"ImageOwnerAlias"`
 	ResourceGroupId             string                                  `position:"Query" name:"ResourceGroupId"`
-	TemplateTag3Key             string                                  `position:"Query" name:"TemplateTag.3.Key"`
 	HostName                    string                                  `position:"Query" name:"HostName"`
 	SystemDiskIops              requests.Integer                        `position:"Query" name:"SystemDisk.Iops"`
-	TemplateTag3Value           string                                  `position:"Query" name:"TemplateTag.3.Value"`
+	TemplateTag                 *[]CreateLaunchTemplateTemplateTag      `position:"Query" name:"TemplateTag"  type:"Repeated"`
 	Tag                         *[]CreateLaunchTemplateTag              `position:"Query" name:"Tag"  type:"Repeated"`
 	Period                      requests.Integer                        `position:"Query" name:"Period"`
 	TemplateResourceGroupId     string                                  `position:"Query" name:"TemplateResourceGroupId"`
-	TemplateTag2Value           string                                  `position:"Query" name:"TemplateTag.2.Value"`
 	OwnerId                     requests.Integer                        `position:"Query" name:"OwnerId"`
 	VSwitchId                   string                                  `position:"Query" name:"VSwitchId"`
 	SpotStrategy                string                                  `position:"Query" name:"SpotStrategy"`
 	InstanceName                string                                  `position:"Query" name:"InstanceName"`
 	InternetChargeType          string                                  `position:"Query" name:"InternetChargeType"`
-	TemplateTag5Key             string                                  `position:"Query" name:"TemplateTag.5.Key"`
 	ZoneId                      string                                  `position:"Query" name:"ZoneId"`
 	InternetMaxBandwidthIn      requests.Integer                        `position:"Query" name:"InternetMaxBandwidthIn"`
 	VersionDescription          string                                  `position:"Query" name:"VersionDescription"`
-	TemplateTag1Value           string                                  `position:"Query" name:"TemplateTag.1.Value"`
 	ImageId                     string                                  `position:"Query" name:"ImageId"`
 	IoOptimized                 string                                  `position:"Query" name:"IoOptimized"`
 	SecurityGroupId             string                                  `position:"Query" name:"SecurityGroupId"`
@@ -110,12 +105,10 @@ type CreateLaunchTemplateRequest struct {
 	Description                 string                                  `position:"Query" name:"Description"`
 	SystemDiskCategory          string                                  `position:"Query" name:"SystemDisk.Category"`
 	UserData                    string                                  `position:"Query" name:"UserData"`
-	TemplateTag5Value           string                                  `position:"Query" name:"TemplateTag.5.Value"`
 	InstanceType                string                                  `position:"Query" name:"InstanceType"`
 	InstanceChargeType          string                                  `position:"Query" name:"InstanceChargeType"`
 	EnableVmOsConfig            requests.Boolean                        `position:"Query" name:"EnableVmOsConfig"`
 	NetworkInterface            *[]CreateLaunchTemplateNetworkInterface `position:"Query" name:"NetworkInterface"  type:"Repeated"`
-	TemplateTag2Key             string                                  `position:"Query" name:"TemplateTag.2.Key"`
 	ResourceOwnerAccount        string                                  `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount                string                                  `position:"Query" name:"OwnerAccount"`
 	SystemDiskDiskName          string                                  `position:"Query" name:"SystemDisk.DiskName"`
@@ -123,13 +116,17 @@ type CreateLaunchTemplateRequest struct {
 	AutoReleaseTime             string                                  `position:"Query" name:"AutoReleaseTime"`
 	SpotDuration                requests.Integer                        `position:"Query" name:"SpotDuration"`
 	DataDisk                    *[]CreateLaunchTemplateDataDisk         `position:"Query" name:"DataDisk"  type:"Repeated"`
-	TemplateTag4Value           string                                  `position:"Query" name:"TemplateTag.4.Value"`
 	SystemDiskSize              requests.Integer                        `position:"Query" name:"SystemDisk.Size"`
 	VpcId                       string                                  `position:"Query" name:"VpcId"`
-	TemplateTag1Key             string                                  `position:"Query" name:"TemplateTag.1.Key"`
 	SystemDiskDescription       string                                  `position:"Query" name:"SystemDisk.Description"`
 }
 
+// CreateLaunchTemplateTemplateTag is a repeated param struct in CreateLaunchTemplateRequest
+type CreateLaunchTemplateTemplateTag struct {
+	Key   string `name:"Key"`
+	Value string `name:"Value"`
+}
+
 // CreateLaunchTemplateTag is a repeated param struct in CreateLaunchTemplateRequest
 type CreateLaunchTemplateTag struct {
 	Key   string `name:"Key"`

+ 1 - 1
services/ecs/create_nat_gateway.go

@@ -89,9 +89,9 @@ type CreateNatGatewayRequest struct {
 
 // CreateNatGatewayBandwidthPackage is a repeated param struct in CreateNatGatewayRequest
 type CreateNatGatewayBandwidthPackage struct {
-	IpCount   string `name:"IpCount"`
 	Bandwidth string `name:"Bandwidth"`
 	Zone      string `name:"Zone"`
+	IpCount   string `name:"IpCount"`
 }
 
 // CreateNatGatewayResponse is the response struct for api CreateNatGateway

+ 18 - 21
services/ecs/create_network_interface.go

@@ -76,27 +76,24 @@ func (client *Client) CreateNetworkInterfaceWithCallback(request *CreateNetworkI
 // CreateNetworkInterfaceRequest is the request struct for api CreateNetworkInterface
 type CreateNetworkInterfaceRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	ClientToken          string           `position:"Query" name:"ClientToken"`
-	SecurityGroupId      string           `position:"Query" name:"SecurityGroupId"`
-	Description          string           `position:"Query" name:"Description"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
-	NetworkInterfaceName string           `position:"Query" name:"NetworkInterfaceName"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	VSwitchId            string           `position:"Query" name:"VSwitchId"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	PrimaryIpAddress     string           `position:"Query" name:"PrimaryIpAddress"`
+	ResourceOwnerId      requests.Integer             `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string                       `position:"Query" name:"ClientToken"`
+	SecurityGroupId      string                       `position:"Query" name:"SecurityGroupId"`
+	Description          string                       `position:"Query" name:"Description"`
+	ResourceGroupId      string                       `position:"Query" name:"ResourceGroupId"`
+	Tag                  *[]CreateNetworkInterfaceTag `position:"Query" name:"Tag"  type:"Repeated"`
+	NetworkInterfaceName string                       `position:"Query" name:"NetworkInterfaceName"`
+	ResourceOwnerAccount string                       `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                       `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer             `position:"Query" name:"OwnerId"`
+	VSwitchId            string                       `position:"Query" name:"VSwitchId"`
+	PrimaryIpAddress     string                       `position:"Query" name:"PrimaryIpAddress"`
+}
+
+// CreateNetworkInterfaceTag is a repeated param struct in CreateNetworkInterfaceRequest
+type CreateNetworkInterfaceTag struct {
+	Key   string `name:"Key"`
+	Value string `name:"Value"`
 }
 
 // CreateNetworkInterfaceResponse is the response struct for api CreateNetworkInterface

+ 1 - 1
services/ecs/create_route_entry.go

@@ -90,8 +90,8 @@ type CreateRouteEntryRequest struct {
 
 // CreateRouteEntryNextHopList is a repeated param struct in CreateRouteEntryRequest
 type CreateRouteEntryNextHopList struct {
-	NextHopType string `name:"NextHopType"`
 	NextHopId   string `name:"NextHopId"`
+	NextHopType string `name:"NextHopType"`
 }
 
 // CreateRouteEntryResponse is the response struct for api CreateRouteEntry

+ 16 - 19
services/ecs/create_security_group.go

@@ -76,25 +76,22 @@ func (client *Client) CreateSecurityGroupWithCallback(request *CreateSecurityGro
 // CreateSecurityGroupRequest is the request struct for api CreateSecurityGroup
 type CreateSecurityGroupRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ClientToken          string           `position:"Query" name:"ClientToken"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	Description          string           `position:"Query" name:"Description"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	SecurityGroupName    string           `position:"Query" name:"SecurityGroupName"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+	ResourceGroupId      string                    `position:"Query" name:"ResourceGroupId"`
+	ResourceOwnerId      requests.Integer          `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string                    `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string                    `position:"Query" name:"ClientToken"`
+	VpcId                string                    `position:"Query" name:"VpcId"`
+	OwnerAccount         string                    `position:"Query" name:"OwnerAccount"`
+	Description          string                    `position:"Query" name:"Description"`
+	Tag                  *[]CreateSecurityGroupTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer          `position:"Query" name:"OwnerId"`
+	SecurityGroupName    string                    `position:"Query" name:"SecurityGroupName"`
+}
+
+// CreateSecurityGroupTag is a repeated param struct in CreateSecurityGroupRequest
+type CreateSecurityGroupTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // CreateSecurityGroupResponse is the response struct for api CreateSecurityGroup

+ 15 - 18
services/ecs/create_snapshot.go

@@ -76,24 +76,21 @@ func (client *Client) CreateSnapshotWithCallback(request *CreateSnapshotRequest,
 // CreateSnapshotRequest is the request struct for api CreateSnapshot
 type CreateSnapshotRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ClientToken          string           `position:"Query" name:"ClientToken"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	Description          string           `position:"Query" name:"Description"`
-	SnapshotName         string           `position:"Query" name:"SnapshotName"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	DiskId               string           `position:"Query" name:"DiskId"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+	ResourceOwnerId      requests.Integer     `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string               `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string               `position:"Query" name:"ClientToken"`
+	OwnerAccount         string               `position:"Query" name:"OwnerAccount"`
+	Description          string               `position:"Query" name:"Description"`
+	DiskId               string               `position:"Query" name:"DiskId"`
+	SnapshotName         string               `position:"Query" name:"SnapshotName"`
+	Tag                  *[]CreateSnapshotTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer     `position:"Query" name:"OwnerId"`
+}
+
+// CreateSnapshotTag is a repeated param struct in CreateSnapshotRequest
+type CreateSnapshotTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // CreateSnapshotResponse is the response struct for api CreateSnapshot

+ 0 - 1
services/ecs/delete_physical_connection.go

@@ -81,7 +81,6 @@ type DeletePhysicalConnectionRequest struct {
 	ClientToken          string           `position:"Query" name:"ClientToken"`
 	PhysicalConnectionId string           `position:"Query" name:"PhysicalConnectionId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	UserCidr             string           `position:"Query" name:"UserCidr"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 

+ 1 - 1
services/ecs/delete_route_entry.go

@@ -88,8 +88,8 @@ type DeleteRouteEntryRequest struct {
 
 // DeleteRouteEntryNextHopList is a repeated param struct in DeleteRouteEntryRequest
 type DeleteRouteEntryNextHopList struct {
-	NextHopType string `name:"NextHopType"`
 	NextHopId   string `name:"NextHopId"`
+	NextHopType string `name:"NextHopType"`
 }
 
 // DeleteRouteEntryResponse is the response struct for api DeleteRouteEntry

+ 1 - 1
services/ecs/describe_access_points.go

@@ -87,8 +87,8 @@ type DescribeAccessPointsRequest struct {
 
 // DescribeAccessPointsFilter is a repeated param struct in DescribeAccessPointsRequest
 type DescribeAccessPointsFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribeAccessPointsResponse is the response struct for api DescribeAccessPoints

+ 108 - 0
services/ecs/describe_account_attributes.go

@@ -0,0 +1,108 @@
+package ecs
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeAccountAttributes invokes the ecs.DescribeAccountAttributes API synchronously
+// api document: https://help.aliyun.com/api/ecs/describeaccountattributes.html
+func (client *Client) DescribeAccountAttributes(request *DescribeAccountAttributesRequest) (response *DescribeAccountAttributesResponse, err error) {
+	response = CreateDescribeAccountAttributesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAccountAttributesWithChan invokes the ecs.DescribeAccountAttributes API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describeaccountattributes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountAttributesWithChan(request *DescribeAccountAttributesRequest) (<-chan *DescribeAccountAttributesResponse, <-chan error) {
+	responseChan := make(chan *DescribeAccountAttributesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAccountAttributes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAccountAttributesWithCallback invokes the ecs.DescribeAccountAttributes API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describeaccountattributes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountAttributesWithCallback(request *DescribeAccountAttributesRequest, callback func(response *DescribeAccountAttributesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAccountAttributesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAccountAttributes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAccountAttributesRequest is the request struct for api DescribeAccountAttributes
+type DescribeAccountAttributesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AttributeName        *[]string        `position:"Query" name:"AttributeName"  type:"Repeated"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// DescribeAccountAttributesResponse is the response struct for api DescribeAccountAttributes
+type DescribeAccountAttributesResponse struct {
+	*responses.BaseResponse
+	RequestId             string                `json:"RequestId" xml:"RequestId"`
+	AccountAttributeItems AccountAttributeItems `json:"AccountAttributeItems" xml:"AccountAttributeItems"`
+}
+
+// CreateDescribeAccountAttributesRequest creates a request to invoke DescribeAccountAttributes API
+func CreateDescribeAccountAttributesRequest() (request *DescribeAccountAttributesRequest) {
+	request = &DescribeAccountAttributesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "DescribeAccountAttributes", "ecs", "openAPI")
+	return
+}
+
+// CreateDescribeAccountAttributesResponse creates a response to parse from DescribeAccountAttributes response
+func CreateDescribeAccountAttributesResponse() (response *DescribeAccountAttributesResponse) {
+	response = &DescribeAccountAttributesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/ecs/describe_available_resource.go

@@ -89,6 +89,7 @@ type DescribeAvailableResourceRequest struct {
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	DedicatedHostId      string           `position:"Query" name:"DedicatedHostId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceType         string           `position:"Query" name:"ResourceType"`
 	SpotStrategy         string           `position:"Query" name:"SpotStrategy"`
 	DestinationResource  string           `position:"Query" name:"DestinationResource"`
 	ZoneId               string           `position:"Query" name:"ZoneId"`

+ 38 - 41
services/ecs/describe_disks.go

@@ -76,47 +76,44 @@ func (client *Client) DescribeDisksWithCallback(request *DescribeDisksRequest, c
 // DescribeDisksRequest is the request struct for api DescribeDisks
 type DescribeDisksRequest struct {
 	*requests.RpcRequest
-	Tag4Value                     string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId               requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	SnapshotId                    string           `position:"Query" name:"SnapshotId"`
-	Tag2Key                       string           `position:"Query" name:"Tag.2.Key"`
-	Filter2Value                  string           `position:"Query" name:"Filter.2.Value"`
-	AutoSnapshotPolicyId          string           `position:"Query" name:"AutoSnapshotPolicyId"`
-	Tag3Key                       string           `position:"Query" name:"Tag.3.Key"`
-	PageNumber                    requests.Integer `position:"Query" name:"PageNumber"`
-	DiskName                      string           `position:"Query" name:"DiskName"`
-	Tag1Value                     string           `position:"Query" name:"Tag.1.Value"`
-	DeleteAutoSnapshot            requests.Boolean `position:"Query" name:"DeleteAutoSnapshot"`
-	ResourceGroupId               string           `position:"Query" name:"ResourceGroupId"`
-	DiskChargeType                string           `position:"Query" name:"DiskChargeType"`
-	LockReason                    string           `position:"Query" name:"LockReason"`
-	Filter1Key                    string           `position:"Query" name:"Filter.1.Key"`
-	PageSize                      requests.Integer `position:"Query" name:"PageSize"`
-	DiskIds                       string           `position:"Query" name:"DiskIds"`
-	DeleteWithInstance            requests.Boolean `position:"Query" name:"DeleteWithInstance"`
-	Tag3Value                     string           `position:"Query" name:"Tag.3.Value"`
-	EnableAutoSnapshot            requests.Boolean `position:"Query" name:"EnableAutoSnapshot"`
-	DryRun                        requests.Boolean `position:"Query" name:"DryRun"`
-	Tag5Key                       string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount          string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount                  string           `position:"Query" name:"OwnerAccount"`
-	Filter1Value                  string           `position:"Query" name:"Filter.1.Value"`
-	Portable                      requests.Boolean `position:"Query" name:"Portable"`
-	EnableAutomatedSnapshotPolicy requests.Boolean `position:"Query" name:"EnableAutomatedSnapshotPolicy"`
-	Filter2Key                    string           `position:"Query" name:"Filter.2.Key"`
-	OwnerId                       requests.Integer `position:"Query" name:"OwnerId"`
-	DiskType                      string           `position:"Query" name:"DiskType"`
-	Tag5Value                     string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key                       string           `position:"Query" name:"Tag.1.Key"`
-	AdditionalAttributes          *[]string        `position:"Query" name:"AdditionalAttributes"  type:"Repeated"`
-	EnableShared                  requests.Boolean `position:"Query" name:"EnableShared"`
-	InstanceId                    string           `position:"Query" name:"InstanceId"`
-	Encrypted                     requests.Boolean `position:"Query" name:"Encrypted"`
-	Tag2Value                     string           `position:"Query" name:"Tag.2.Value"`
-	ZoneId                        string           `position:"Query" name:"ZoneId"`
-	Tag4Key                       string           `position:"Query" name:"Tag.4.Key"`
-	Category                      string           `position:"Query" name:"Category"`
-	Status                        string           `position:"Query" name:"Status"`
+	ResourceOwnerId               requests.Integer    `position:"Query" name:"ResourceOwnerId"`
+	SnapshotId                    string              `position:"Query" name:"SnapshotId"`
+	Filter2Value                  string              `position:"Query" name:"Filter.2.Value"`
+	AutoSnapshotPolicyId          string              `position:"Query" name:"AutoSnapshotPolicyId"`
+	PageNumber                    requests.Integer    `position:"Query" name:"PageNumber"`
+	DiskName                      string              `position:"Query" name:"DiskName"`
+	DeleteAutoSnapshot            requests.Boolean    `position:"Query" name:"DeleteAutoSnapshot"`
+	ResourceGroupId               string              `position:"Query" name:"ResourceGroupId"`
+	DiskChargeType                string              `position:"Query" name:"DiskChargeType"`
+	LockReason                    string              `position:"Query" name:"LockReason"`
+	Filter1Key                    string              `position:"Query" name:"Filter.1.Key"`
+	PageSize                      requests.Integer    `position:"Query" name:"PageSize"`
+	DiskIds                       string              `position:"Query" name:"DiskIds"`
+	Tag                           *[]DescribeDisksTag `position:"Query" name:"Tag"  type:"Repeated"`
+	DeleteWithInstance            requests.Boolean    `position:"Query" name:"DeleteWithInstance"`
+	EnableAutoSnapshot            requests.Boolean    `position:"Query" name:"EnableAutoSnapshot"`
+	DryRun                        requests.Boolean    `position:"Query" name:"DryRun"`
+	ResourceOwnerAccount          string              `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount                  string              `position:"Query" name:"OwnerAccount"`
+	Filter1Value                  string              `position:"Query" name:"Filter.1.Value"`
+	Portable                      requests.Boolean    `position:"Query" name:"Portable"`
+	EnableAutomatedSnapshotPolicy requests.Boolean    `position:"Query" name:"EnableAutomatedSnapshotPolicy"`
+	Filter2Key                    string              `position:"Query" name:"Filter.2.Key"`
+	OwnerId                       requests.Integer    `position:"Query" name:"OwnerId"`
+	DiskType                      string              `position:"Query" name:"DiskType"`
+	AdditionalAttributes          *[]string           `position:"Query" name:"AdditionalAttributes"  type:"Repeated"`
+	EnableShared                  requests.Boolean    `position:"Query" name:"EnableShared"`
+	InstanceId                    string              `position:"Query" name:"InstanceId"`
+	Encrypted                     requests.Boolean    `position:"Query" name:"Encrypted"`
+	ZoneId                        string              `position:"Query" name:"ZoneId"`
+	Category                      string              `position:"Query" name:"Category"`
+	Status                        string              `position:"Query" name:"Status"`
+}
+
+// DescribeDisksTag is a repeated param struct in DescribeDisksRequest
+type DescribeDisksTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeDisksResponse is the response struct for api DescribeDisks

+ 113 - 0
services/ecs/describe_eni_monitor_data.go

@@ -0,0 +1,113 @@
+package ecs
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under 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"
+)
+
+// DescribeEniMonitorData invokes the ecs.DescribeEniMonitorData API synchronously
+// api document: https://help.aliyun.com/api/ecs/describeenimonitordata.html
+func (client *Client) DescribeEniMonitorData(request *DescribeEniMonitorDataRequest) (response *DescribeEniMonitorDataResponse, err error) {
+	response = CreateDescribeEniMonitorDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeEniMonitorDataWithChan invokes the ecs.DescribeEniMonitorData API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describeenimonitordata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEniMonitorDataWithChan(request *DescribeEniMonitorDataRequest) (<-chan *DescribeEniMonitorDataResponse, <-chan error) {
+	responseChan := make(chan *DescribeEniMonitorDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeEniMonitorData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeEniMonitorDataWithCallback invokes the ecs.DescribeEniMonitorData API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describeenimonitordata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEniMonitorDataWithCallback(request *DescribeEniMonitorDataRequest, callback func(response *DescribeEniMonitorDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeEniMonitorDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeEniMonitorData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeEniMonitorDataRequest is the request struct for api DescribeEniMonitorData
+type DescribeEniMonitorDataRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	Period               requests.Integer `position:"Query" name:"Period"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	EniId                string           `position:"Query" name:"EniId"`
+}
+
+// DescribeEniMonitorDataResponse is the response struct for api DescribeEniMonitorData
+type DescribeEniMonitorDataResponse struct {
+	*responses.BaseResponse
+	RequestId   string                              `json:"RequestId" xml:"RequestId"`
+	TotalCount  int                                 `json:"TotalCount" xml:"TotalCount"`
+	MonitorData MonitorDataInDescribeEniMonitorData `json:"MonitorData" xml:"MonitorData"`
+}
+
+// CreateDescribeEniMonitorDataRequest creates a request to invoke DescribeEniMonitorData API
+func CreateDescribeEniMonitorDataRequest() (request *DescribeEniMonitorDataRequest) {
+	request = &DescribeEniMonitorDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "DescribeEniMonitorData", "ecs", "openAPI")
+	return
+}
+
+// CreateDescribeEniMonitorDataResponse creates a response to parse from DescribeEniMonitorData response
+func CreateDescribeEniMonitorDataResponse() (response *DescribeEniMonitorDataResponse) {
+	response = &DescribeEniMonitorDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 1
services/ecs/describe_ha_vips.go

@@ -87,8 +87,8 @@ type DescribeHaVipsRequest struct {
 
 // DescribeHaVipsFilter is a repeated param struct in DescribeHaVipsRequest
 type DescribeHaVipsFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribeHaVipsResponse is the response struct for api DescribeHaVips

+ 1 - 1
services/ecs/describe_image_support_instance_types.go

@@ -86,8 +86,8 @@ type DescribeImageSupportInstanceTypesRequest struct {
 
 // DescribeImageSupportInstanceTypesFilter is a repeated param struct in DescribeImageSupportInstanceTypesRequest
 type DescribeImageSupportInstanceTypesFilter struct {
-	Key   string `name:"Key"`
 	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeImageSupportInstanceTypesResponse is the response struct for api DescribeImageSupportInstanceTypes

+ 8 - 11
services/ecs/describe_images.go

@@ -76,44 +76,41 @@ func (client *Client) DescribeImagesWithCallback(request *DescribeImagesRequest,
 // DescribeImagesRequest is the request struct for api DescribeImages
 type DescribeImagesRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string                  `position:"Query" name:"Tag.4.Value"`
 	ActionType           string                  `position:"Query" name:"ActionType"`
 	ResourceOwnerId      requests.Integer        `position:"Query" name:"ResourceOwnerId"`
 	ImageId              string                  `position:"Query" name:"ImageId"`
 	SnapshotId           string                  `position:"Query" name:"SnapshotId"`
-	Tag2Key              string                  `position:"Query" name:"Tag.2.Key"`
 	Usage                string                  `position:"Query" name:"Usage"`
-	Tag3Key              string                  `position:"Query" name:"Tag.3.Key"`
 	PageNumber           requests.Integer        `position:"Query" name:"PageNumber"`
 	ImageOwnerAlias      string                  `position:"Query" name:"ImageOwnerAlias"`
-	Tag1Value            string                  `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId      string                  `position:"Query" name:"ResourceGroupId"`
 	IsSupportIoOptimized requests.Boolean        `position:"Query" name:"IsSupportIoOptimized"`
 	ImageName            string                  `position:"Query" name:"ImageName"`
 	IsSupportCloudinit   requests.Boolean        `position:"Query" name:"IsSupportCloudinit"`
 	PageSize             requests.Integer        `position:"Query" name:"PageSize"`
 	InstanceType         string                  `position:"Query" name:"InstanceType"`
-	Tag3Value            string                  `position:"Query" name:"Tag.3.Value"`
+	Tag                  *[]DescribeImagesTag    `position:"Query" name:"Tag"  type:"Repeated"`
 	Architecture         string                  `position:"Query" name:"Architecture"`
 	DryRun               requests.Boolean        `position:"Query" name:"DryRun"`
-	Tag5Key              string                  `position:"Query" name:"Tag.5.Key"`
 	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string                  `position:"Query" name:"OwnerAccount"`
 	ShowExpired          requests.Boolean        `position:"Query" name:"ShowExpired"`
 	OSType               string                  `position:"Query" name:"OSType"`
 	OwnerId              requests.Integer        `position:"Query" name:"OwnerId"`
-	Tag5Value            string                  `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string                  `position:"Query" name:"Tag.1.Key"`
 	Filter               *[]DescribeImagesFilter `position:"Query" name:"Filter"  type:"Repeated"`
-	Tag2Value            string                  `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string                  `position:"Query" name:"Tag.4.Key"`
 	Status               string                  `position:"Query" name:"Status"`
 }
 
+// DescribeImagesTag is a repeated param struct in DescribeImagesRequest
+type DescribeImagesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
 // DescribeImagesFilter is a repeated param struct in DescribeImagesRequest
 type DescribeImagesFilter struct {
-	Key   string `name:"Key"`
 	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeImagesResponse is the response struct for api DescribeImages

+ 46 - 49
services/ecs/describe_instances.go

@@ -76,55 +76,52 @@ func (client *Client) DescribeInstancesWithCallback(request *DescribeInstancesRe
 // DescribeInstancesRequest is the request struct for api DescribeInstances
 type DescribeInstancesRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	InnerIpAddresses     string           `position:"Query" name:"InnerIpAddresses"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	PrivateIpAddresses   string           `position:"Query" name:"PrivateIpAddresses"`
-	HpcClusterId         string           `position:"Query" name:"HpcClusterId"`
-	Filter2Value         string           `position:"Query" name:"Filter.2.Value"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	KeyPairName          string           `position:"Query" name:"KeyPairName"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	LockReason           string           `position:"Query" name:"LockReason"`
-	Filter1Key           string           `position:"Query" name:"Filter.1.Key"`
-	DeviceAvailable      requests.Boolean `position:"Query" name:"DeviceAvailable"`
-	Filter3Value         string           `position:"Query" name:"Filter.3.Value"`
-	DryRun               requests.Boolean `position:"Query" name:"DryRun"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	Filter1Value         string           `position:"Query" name:"Filter.1.Value"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	VSwitchId            string           `position:"Query" name:"VSwitchId"`
-	InstanceName         string           `position:"Query" name:"InstanceName"`
-	InstanceIds          string           `position:"Query" name:"InstanceIds"`
-	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
-	ZoneId               string           `position:"Query" name:"ZoneId"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	InstanceNetworkType  string           `position:"Query" name:"InstanceNetworkType"`
-	Status               string           `position:"Query" name:"Status"`
-	ImageId              string           `position:"Query" name:"ImageId"`
-	Filter4Value         string           `position:"Query" name:"Filter.4.Value"`
-	IoOptimized          requests.Boolean `position:"Query" name:"IoOptimized"`
-	SecurityGroupId      string           `position:"Query" name:"SecurityGroupId"`
-	Filter4Key           string           `position:"Query" name:"Filter.4.Key"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	RdmaIpAddresses      string           `position:"Query" name:"RdmaIpAddresses"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	PublicIpAddresses    string           `position:"Query" name:"PublicIpAddresses"`
-	InstanceType         string           `position:"Query" name:"InstanceType"`
-	InstanceChargeType   string           `position:"Query" name:"InstanceChargeType"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	InstanceTypeFamily   string           `position:"Query" name:"InstanceTypeFamily"`
-	Filter2Key           string           `position:"Query" name:"Filter.2.Key"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	EipAddresses         string           `position:"Query" name:"EipAddresses"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Filter3Key           string           `position:"Query" name:"Filter.3.Key"`
+	InnerIpAddresses     string                  `position:"Query" name:"InnerIpAddresses"`
+	ResourceOwnerId      requests.Integer        `position:"Query" name:"ResourceOwnerId"`
+	ImageId              string                  `position:"Query" name:"ImageId"`
+	PrivateIpAddresses   string                  `position:"Query" name:"PrivateIpAddresses"`
+	HpcClusterId         string                  `position:"Query" name:"HpcClusterId"`
+	Filter2Value         string                  `position:"Query" name:"Filter.2.Value"`
+	Filter4Value         string                  `position:"Query" name:"Filter.4.Value"`
+	IoOptimized          requests.Boolean        `position:"Query" name:"IoOptimized"`
+	SecurityGroupId      string                  `position:"Query" name:"SecurityGroupId"`
+	KeyPairName          string                  `position:"Query" name:"KeyPairName"`
+	Filter4Key           string                  `position:"Query" name:"Filter.4.Key"`
+	PageNumber           requests.Integer        `position:"Query" name:"PageNumber"`
+	ResourceGroupId      string                  `position:"Query" name:"ResourceGroupId"`
+	LockReason           string                  `position:"Query" name:"LockReason"`
+	Filter1Key           string                  `position:"Query" name:"Filter.1.Key"`
+	RdmaIpAddresses      string                  `position:"Query" name:"RdmaIpAddresses"`
+	DeviceAvailable      requests.Boolean        `position:"Query" name:"DeviceAvailable"`
+	PageSize             requests.Integer        `position:"Query" name:"PageSize"`
+	PublicIpAddresses    string                  `position:"Query" name:"PublicIpAddresses"`
+	InstanceType         string                  `position:"Query" name:"InstanceType"`
+	Tag                  *[]DescribeInstancesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	InstanceChargeType   string                  `position:"Query" name:"InstanceChargeType"`
+	Filter3Value         string                  `position:"Query" name:"Filter.3.Value"`
+	DryRun               requests.Boolean        `position:"Query" name:"DryRun"`
+	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                  `position:"Query" name:"OwnerAccount"`
+	InstanceTypeFamily   string                  `position:"Query" name:"InstanceTypeFamily"`
+	Filter1Value         string                  `position:"Query" name:"Filter.1.Value"`
+	Filter2Key           string                  `position:"Query" name:"Filter.2.Key"`
+	OwnerId              requests.Integer        `position:"Query" name:"OwnerId"`
+	VSwitchId            string                  `position:"Query" name:"VSwitchId"`
+	EipAddresses         string                  `position:"Query" name:"EipAddresses"`
+	InstanceName         string                  `position:"Query" name:"InstanceName"`
+	InstanceIds          string                  `position:"Query" name:"InstanceIds"`
+	InternetChargeType   string                  `position:"Query" name:"InternetChargeType"`
+	VpcId                string                  `position:"Query" name:"VpcId"`
+	ZoneId               string                  `position:"Query" name:"ZoneId"`
+	Filter3Key           string                  `position:"Query" name:"Filter.3.Key"`
+	InstanceNetworkType  string                  `position:"Query" name:"InstanceNetworkType"`
+	Status               string                  `position:"Query" name:"Status"`
+}
+
+// DescribeInstancesTag is a repeated param struct in DescribeInstancesRequest
+type DescribeInstancesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeInstancesResponse is the response struct for api DescribeInstances

+ 15 - 18
services/ecs/describe_key_pairs.go

@@ -76,24 +76,21 @@ func (client *Client) DescribeKeyPairsWithCallback(request *DescribeKeyPairsRequ
 // DescribeKeyPairsRequest is the request struct for api DescribeKeyPairs
 type DescribeKeyPairsRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	KeyPairFingerPrint   string           `position:"Query" name:"KeyPairFingerPrint"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	KeyPairName          string           `position:"Query" name:"KeyPairName"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+	ResourceGroupId      string                 `position:"Query" name:"ResourceGroupId"`
+	ResourceOwnerId      requests.Integer       `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string                 `position:"Query" name:"ResourceOwnerAccount"`
+	KeyPairFingerPrint   string                 `position:"Query" name:"KeyPairFingerPrint"`
+	PageSize             requests.Integer       `position:"Query" name:"PageSize"`
+	KeyPairName          string                 `position:"Query" name:"KeyPairName"`
+	Tag                  *[]DescribeKeyPairsTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer       `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer       `position:"Query" name:"PageNumber"`
+}
+
+// DescribeKeyPairsTag is a repeated param struct in DescribeKeyPairsRequest
+type DescribeKeyPairsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeKeyPairsResponse is the response struct for api DescribeKeyPairs

+ 16 - 19
services/ecs/describe_launch_templates.go

@@ -76,25 +76,22 @@ func (client *Client) DescribeLaunchTemplatesWithCallback(request *DescribeLaunc
 // DescribeLaunchTemplatesRequest is the request struct for api DescribeLaunchTemplates
 type DescribeLaunchTemplatesRequest struct {
 	*requests.RpcRequest
-	TemplateTag1Value       string           `position:"Query" name:"TemplateTag.1.Value"`
-	LaunchTemplateName      *[]string        `position:"Query" name:"LaunchTemplateName"  type:"Repeated"`
-	ResourceOwnerId         requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	TemplateTag4Key         string           `position:"Query" name:"TemplateTag.4.Key"`
-	PageNumber              requests.Integer `position:"Query" name:"PageNumber"`
-	TemplateTag3Key         string           `position:"Query" name:"TemplateTag.3.Key"`
-	TemplateTag5Value       string           `position:"Query" name:"TemplateTag.5.Value"`
-	PageSize                requests.Integer `position:"Query" name:"PageSize"`
-	TemplateTag3Value       string           `position:"Query" name:"TemplateTag.3.Value"`
-	TemplateTag2Key         string           `position:"Query" name:"TemplateTag.2.Key"`
-	LaunchTemplateId        *[]string        `position:"Query" name:"LaunchTemplateId"  type:"Repeated"`
-	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
-	TemplateResourceGroupId string           `position:"Query" name:"TemplateResourceGroupId"`
-	TemplateTag2Value       string           `position:"Query" name:"TemplateTag.2.Value"`
-	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
-	TemplateTag4Value       string           `position:"Query" name:"TemplateTag.4.Value"`
-	TemplateTag5Key         string           `position:"Query" name:"TemplateTag.5.Key"`
-	TemplateTag1Key         string           `position:"Query" name:"TemplateTag.1.Key"`
+	LaunchTemplateName      *[]string                             `position:"Query" name:"LaunchTemplateName"  type:"Repeated"`
+	ResourceOwnerId         requests.Integer                      `position:"Query" name:"ResourceOwnerId"`
+	PageNumber              requests.Integer                      `position:"Query" name:"PageNumber"`
+	PageSize                requests.Integer                      `position:"Query" name:"PageSize"`
+	TemplateTag             *[]DescribeLaunchTemplatesTemplateTag `position:"Query" name:"TemplateTag"  type:"Repeated"`
+	LaunchTemplateId        *[]string                             `position:"Query" name:"LaunchTemplateId"  type:"Repeated"`
+	ResourceOwnerAccount    string                                `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string                                `position:"Query" name:"OwnerAccount"`
+	TemplateResourceGroupId string                                `position:"Query" name:"TemplateResourceGroupId"`
+	OwnerId                 requests.Integer                      `position:"Query" name:"OwnerId"`
+}
+
+// DescribeLaunchTemplatesTemplateTag is a repeated param struct in DescribeLaunchTemplatesRequest
+type DescribeLaunchTemplatesTemplateTag struct {
+	Key   string `name:"Key"`
+	Value string `name:"Value"`
 }
 
 // DescribeLaunchTemplatesResponse is the response struct for api DescribeLaunchTemplates

+ 22 - 25
services/ecs/describe_network_interfaces.go

@@ -76,31 +76,28 @@ func (client *Client) DescribeNetworkInterfacesWithCallback(request *DescribeNet
 // DescribeNetworkInterfacesRequest is the request struct for api DescribeNetworkInterfaces
 type DescribeNetworkInterfacesRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	SecurityGroupId      string           `position:"Query" name:"SecurityGroupId"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	Type                 string           `position:"Query" name:"Type"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
-	NetworkInterfaceName string           `position:"Query" name:"NetworkInterfaceName"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	VSwitchId            string           `position:"Query" name:"VSwitchId"`
-	InstanceId           string           `position:"Query" name:"InstanceId"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	PrimaryIpAddress     string           `position:"Query" name:"PrimaryIpAddress"`
-	NetworkInterfaceId   *[]string        `position:"Query" name:"NetworkInterfaceId"  type:"Repeated"`
+	ResourceOwnerId      requests.Integer                `position:"Query" name:"ResourceOwnerId"`
+	SecurityGroupId      string                          `position:"Query" name:"SecurityGroupId"`
+	Type                 string                          `position:"Query" name:"Type"`
+	PageNumber           requests.Integer                `position:"Query" name:"PageNumber"`
+	ResourceGroupId      string                          `position:"Query" name:"ResourceGroupId"`
+	PageSize             requests.Integer                `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeNetworkInterfacesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	NetworkInterfaceName string                          `position:"Query" name:"NetworkInterfaceName"`
+	ResourceOwnerAccount string                          `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                          `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer                `position:"Query" name:"OwnerId"`
+	VSwitchId            string                          `position:"Query" name:"VSwitchId"`
+	InstanceId           string                          `position:"Query" name:"InstanceId"`
+	VpcId                string                          `position:"Query" name:"VpcId"`
+	PrimaryIpAddress     string                          `position:"Query" name:"PrimaryIpAddress"`
+	NetworkInterfaceId   *[]string                       `position:"Query" name:"NetworkInterfaceId"  type:"Repeated"`
+}
+
+// DescribeNetworkInterfacesTag is a repeated param struct in DescribeNetworkInterfacesRequest
+type DescribeNetworkInterfacesTag struct {
+	Key   string `name:"Key"`
+	Value string `name:"Value"`
 }
 
 // DescribeNetworkInterfacesResponse is the response struct for api DescribeNetworkInterfaces

+ 1 - 1
services/ecs/describe_physical_connections.go

@@ -89,8 +89,8 @@ type DescribePhysicalConnectionsRequest struct {
 
 // DescribePhysicalConnectionsFilter is a repeated param struct in DescribePhysicalConnectionsRequest
 type DescribePhysicalConnectionsFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribePhysicalConnectionsResponse is the response struct for api DescribePhysicalConnections

+ 13 - 16
services/ecs/describe_resource_by_tags.go

@@ -76,22 +76,19 @@ func (client *Client) DescribeResourceByTagsWithCallback(request *DescribeResour
 // DescribeResourceByTagsRequest is the request struct for api DescribeResourceByTags
 type DescribeResourceByTagsRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceType         string           `position:"Query" name:"ResourceType"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+	ResourceOwnerId      requests.Integer             `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string                       `position:"Query" name:"ResourceOwnerAccount"`
+	PageSize             requests.Integer             `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeResourceByTagsTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer             `position:"Query" name:"OwnerId"`
+	ResourceType         string                       `position:"Query" name:"ResourceType"`
+	PageNumber           requests.Integer             `position:"Query" name:"PageNumber"`
+}
+
+// DescribeResourceByTagsTag is a repeated param struct in DescribeResourceByTagsRequest
+type DescribeResourceByTagsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeResourceByTagsResponse is the response struct for api DescribeResourceByTags

+ 1 - 1
services/ecs/describe_router_interfaces.go

@@ -86,8 +86,8 @@ type DescribeRouterInterfacesRequest struct {
 
 // DescribeRouterInterfacesFilter is a repeated param struct in DescribeRouterInterfacesRequest
 type DescribeRouterInterfacesFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribeRouterInterfacesResponse is the response struct for api DescribeRouterInterfaces

+ 22 - 25
services/ecs/describe_security_groups.go

@@ -76,31 +76,28 @@ func (client *Client) DescribeSecurityGroupsWithCallback(request *DescribeSecuri
 // DescribeSecurityGroupsRequest is the request struct for api DescribeSecurityGroups
 type DescribeSecurityGroupsRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	FuzzyQuery           requests.Boolean `position:"Query" name:"FuzzyQuery"`
-	SecurityGroupId      string           `position:"Query" name:"SecurityGroupId"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	IsQueryEcsCount      requests.Boolean `position:"Query" name:"IsQueryEcsCount"`
-	NetworkType          string           `position:"Query" name:"NetworkType"`
-	SecurityGroupName    string           `position:"Query" name:"SecurityGroupName"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
-	DryRun               requests.Boolean `position:"Query" name:"DryRun"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	SecurityGroupIds     string           `position:"Query" name:"SecurityGroupIds"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
+	ResourceOwnerId      requests.Integer             `position:"Query" name:"ResourceOwnerId"`
+	DryRun               requests.Boolean             `position:"Query" name:"DryRun"`
+	FuzzyQuery           requests.Boolean             `position:"Query" name:"FuzzyQuery"`
+	ResourceOwnerAccount string                       `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                       `position:"Query" name:"OwnerAccount"`
+	SecurityGroupId      string                       `position:"Query" name:"SecurityGroupId"`
+	IsQueryEcsCount      requests.Boolean             `position:"Query" name:"IsQueryEcsCount"`
+	NetworkType          string                       `position:"Query" name:"NetworkType"`
+	OwnerId              requests.Integer             `position:"Query" name:"OwnerId"`
+	SecurityGroupIds     string                       `position:"Query" name:"SecurityGroupIds"`
+	SecurityGroupName    string                       `position:"Query" name:"SecurityGroupName"`
+	PageNumber           requests.Integer             `position:"Query" name:"PageNumber"`
+	ResourceGroupId      string                       `position:"Query" name:"ResourceGroupId"`
+	VpcId                string                       `position:"Query" name:"VpcId"`
+	PageSize             requests.Integer             `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeSecurityGroupsTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// DescribeSecurityGroupsTag is a repeated param struct in DescribeSecurityGroupsRequest
+type DescribeSecurityGroupsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeSecurityGroupsResponse is the response struct for api DescribeSecurityGroups

+ 29 - 32
services/ecs/describe_snapshots.go

@@ -76,38 +76,35 @@ func (client *Client) DescribeSnapshotsWithCallback(request *DescribeSnapshotsRe
 // DescribeSnapshotsRequest is the request struct for api DescribeSnapshots
 type DescribeSnapshotsRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Filter2Value         string           `position:"Query" name:"Filter.2.Value"`
-	SnapshotIds          string           `position:"Query" name:"SnapshotIds"`
-	Usage                string           `position:"Query" name:"Usage"`
-	SnapshotLinkId       string           `position:"Query" name:"SnapshotLinkId"`
-	SnapshotName         string           `position:"Query" name:"SnapshotName"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	Filter1Key           string           `position:"Query" name:"Filter.1.Key"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	DiskId               string           `position:"Query" name:"DiskId"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
-	DryRun               requests.Boolean `position:"Query" name:"DryRun"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	SourceDiskType       string           `position:"Query" name:"SourceDiskType"`
-	Filter1Value         string           `position:"Query" name:"Filter.1.Value"`
-	Filter2Key           string           `position:"Query" name:"Filter.2.Key"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	InstanceId           string           `position:"Query" name:"InstanceId"`
-	Encrypted            requests.Boolean `position:"Query" name:"Encrypted"`
-	SnapshotType         string           `position:"Query" name:"SnapshotType"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Status               string           `position:"Query" name:"Status"`
+	ResourceOwnerId      requests.Integer        `position:"Query" name:"ResourceOwnerId"`
+	Filter2Value         string                  `position:"Query" name:"Filter.2.Value"`
+	SnapshotIds          string                  `position:"Query" name:"SnapshotIds"`
+	Usage                string                  `position:"Query" name:"Usage"`
+	SnapshotLinkId       string                  `position:"Query" name:"SnapshotLinkId"`
+	SnapshotName         string                  `position:"Query" name:"SnapshotName"`
+	PageNumber           requests.Integer        `position:"Query" name:"PageNumber"`
+	ResourceGroupId      string                  `position:"Query" name:"ResourceGroupId"`
+	Filter1Key           string                  `position:"Query" name:"Filter.1.Key"`
+	PageSize             requests.Integer        `position:"Query" name:"PageSize"`
+	DiskId               string                  `position:"Query" name:"DiskId"`
+	Tag                  *[]DescribeSnapshotsTag `position:"Query" name:"Tag"  type:"Repeated"`
+	DryRun               requests.Boolean        `position:"Query" name:"DryRun"`
+	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                  `position:"Query" name:"OwnerAccount"`
+	SourceDiskType       string                  `position:"Query" name:"SourceDiskType"`
+	Filter1Value         string                  `position:"Query" name:"Filter.1.Value"`
+	Filter2Key           string                  `position:"Query" name:"Filter.2.Key"`
+	OwnerId              requests.Integer        `position:"Query" name:"OwnerId"`
+	InstanceId           string                  `position:"Query" name:"InstanceId"`
+	Encrypted            requests.Boolean        `position:"Query" name:"Encrypted"`
+	SnapshotType         string                  `position:"Query" name:"SnapshotType"`
+	Status               string                  `position:"Query" name:"Status"`
+}
+
+// DescribeSnapshotsTag is a repeated param struct in DescribeSnapshotsRequest
+type DescribeSnapshotsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeSnapshotsResponse is the response struct for api DescribeSnapshots

+ 14 - 17
services/ecs/describe_tags.go

@@ -76,23 +76,20 @@ func (client *Client) DescribeTagsWithCallback(request *DescribeTagsRequest, cal
 // DescribeTagsRequest is the request struct for api DescribeTags
 type DescribeTagsRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceId           string           `position:"Query" name:"ResourceId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceType         string           `position:"Query" name:"ResourceType"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+	ResourceOwnerId      requests.Integer   `position:"Query" name:"ResourceOwnerId"`
+	ResourceId           string             `position:"Query" name:"ResourceId"`
+	ResourceOwnerAccount string             `position:"Query" name:"ResourceOwnerAccount"`
+	PageSize             requests.Integer   `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeTagsTag `position:"Query" name:"Tag"  type:"Repeated"`
+	OwnerId              requests.Integer   `position:"Query" name:"OwnerId"`
+	ResourceType         string             `position:"Query" name:"ResourceType"`
+	PageNumber           requests.Integer   `position:"Query" name:"PageNumber"`
+}
+
+// DescribeTagsTag is a repeated param struct in DescribeTagsRequest
+type DescribeTagsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeTagsResponse is the response struct for api DescribeTags

+ 1 - 1
services/ecs/describe_virtual_border_routers.go

@@ -86,8 +86,8 @@ type DescribeVirtualBorderRoutersRequest struct {
 
 // DescribeVirtualBorderRoutersFilter is a repeated param struct in DescribeVirtualBorderRoutersRequest
 type DescribeVirtualBorderRoutersFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribeVirtualBorderRoutersResponse is the response struct for api DescribeVirtualBorderRouters

+ 1 - 1
services/ecs/describe_virtual_border_routers_for_physical_connection.go

@@ -87,8 +87,8 @@ type DescribeVirtualBorderRoutersForPhysicalConnectionRequest struct {
 
 // DescribeVirtualBorderRoutersForPhysicalConnectionFilter is a repeated param struct in DescribeVirtualBorderRoutersForPhysicalConnectionRequest
 type DescribeVirtualBorderRoutersForPhysicalConnectionFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 
 // DescribeVirtualBorderRoutersForPhysicalConnectionResponse is the response struct for api DescribeVirtualBorderRoutersForPhysicalConnection

+ 3 - 3
services/ecs/import_image.go

@@ -90,12 +90,12 @@ type ImportImageRequest struct {
 
 // ImportImageDiskDeviceMapping is a repeated param struct in ImportImageRequest
 type ImportImageDiskDeviceMapping struct {
-	Format        string `name:"Format"`
 	OSSBucket     string `name:"OSSBucket"`
-	OSSObject     string `name:"OSSObject"`
 	DiskImSize    string `name:"DiskImSize"`
-	DiskImageSize string `name:"DiskImageSize"`
+	Format        string `name:"Format"`
 	Device        string `name:"Device"`
+	OSSObject     string `name:"OSSObject"`
+	DiskImageSize string `name:"DiskImageSize"`
 }
 
 // ImportImageResponse is the response struct for api ImportImage

+ 1 - 0
services/ecs/modify_vpc_attribute.go

@@ -81,6 +81,7 @@ type ModifyVpcAttributeRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	VpcId                string           `position:"Query" name:"VpcId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	CidrBlock            string           `position:"Query" name:"CidrBlock"`
 	Description          string           `position:"Query" name:"Description"`
 	UserCidr             string           `position:"Query" name:"UserCidr"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`

+ 7 - 10
services/ecs/remove_tags.go

@@ -76,21 +76,18 @@ func (client *Client) RemoveTagsWithCallback(request *RemoveTagsRequest, callbac
 // RemoveTagsRequest is the request struct for api RemoveTags
 type RemoveTagsRequest struct {
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceId           string           `position:"Query" name:"ResourceId"`
-	Tag2Key              string           `position:"Query" name:"Tag.2.Key"`
-	Tag5Key              string           `position:"Query" name:"Tag.5.Key"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	Tag3Key              string           `position:"Query" name:"Tag.3.Key"`
+	Tag                  *[]RemoveTagsTag `position:"Query" name:"Tag"  type:"Repeated"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	ResourceType         string           `position:"Query" name:"ResourceType"`
-	Tag5Value            string           `position:"Query" name:"Tag.5.Value"`
-	Tag1Key              string           `position:"Query" name:"Tag.1.Key"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
-	Tag2Value            string           `position:"Query" name:"Tag.2.Value"`
-	Tag4Key              string           `position:"Query" name:"Tag.4.Key"`
-	Tag3Value            string           `position:"Query" name:"Tag.3.Value"`
+}
+
+// RemoveTagsTag is a repeated param struct in RemoveTagsRequest
+type RemoveTagsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // RemoveTagsResponse is the response struct for api RemoveTags

+ 22 - 0
services/ecs/struct_account_attribute_item.go

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

+ 21 - 0
services/ecs/struct_account_attribute_items.go

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

+ 21 - 0
services/ecs/struct_attribute_values.go

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

+ 28 - 0
services/ecs/struct_eni_monitor_data.go

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

+ 21 - 0
services/ecs/struct_monitor_data_in_describe_eni_monitor_data.go

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

+ 1 - 0
services/ecs/struct_snapshot_link.go

@@ -22,6 +22,7 @@ type SnapshotLink struct {
 	InstanceId     string `json:"InstanceId" xml:"InstanceId"`
 	InstanceName   string `json:"InstanceName" xml:"InstanceName"`
 	SourceDiskId   string `json:"SourceDiskId" xml:"SourceDiskId"`
+	SourceDiskName string `json:"SourceDiskName" xml:"SourceDiskName"`
 	SourceDiskSize int    `json:"SourceDiskSize" xml:"SourceDiskSize"`
 	SourceDiskType string `json:"SourceDiskType" xml:"SourceDiskType"`
 	TotalSize      int    `json:"TotalSize" xml:"TotalSize"`

+ 25 - 0
services/ecs/struct_value_item.go

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