浏览代码

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
 2018-08-13 Version: 1.25.0
 1, New userinfo fields for registerface input parameter.
 1, New userinfo fields for registerface input parameter.
 2, New userinfo fields for updateface 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
 // AddTagsRequest is the request struct for api AddTags
 type AddTagsRequest struct {
 type AddTagsRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceId           string           `position:"Query" name:"ResourceId"`
 	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"`
 	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"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	ResourceType         string           `position:"Query" name:"ResourceType"`
 	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
 // 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
 // CopyImageRequest is the request struct for api CopyImage
 type CopyImageRequest struct {
 type CopyImageRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	Tag4Value              string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ImageId                string           `position:"Query" name:"ImageId"`
 	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"`
 	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
 	DestinationImageName   string           `position:"Query" name:"DestinationImageName"`
 	DestinationImageName   string           `position:"Query" name:"DestinationImageName"`
 	DestinationRegionId    string           `position:"Query" name:"DestinationRegionId"`
 	DestinationRegionId    string           `position:"Query" name:"DestinationRegionId"`
 	OwnerAccount           string           `position:"Query" name:"OwnerAccount"`
 	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"`
 	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"`
 	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
 // 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
 // CreateDiskRequest is the request struct for api CreateDisk
 type CreateDiskRequest struct {
 type CreateDiskRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	SnapshotId           string           `position:"Query" name:"SnapshotId"`
 	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"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	Description          string           `position:"Query" name:"Description"`
 	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"`
 	DiskName             string           `position:"Query" name:"DiskName"`
-	Tag1Value            string           `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 	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"`
 	Size                 requests.Integer `position:"Query" name:"Size"`
 	Encrypted            requests.Boolean `position:"Query" name:"Encrypted"`
 	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"`
 	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
 // 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 {
 type CreateImageRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	DiskDeviceMapping    *[]CreateImageDiskDeviceMapping `position:"Query" name:"DiskDeviceMapping"  type:"Repeated"`
 	DiskDeviceMapping    *[]CreateImageDiskDeviceMapping `position:"Query" name:"DiskDeviceMapping"  type:"Repeated"`
-	Tag4Value            string                          `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer                `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId      requests.Integer                `position:"Query" name:"ResourceOwnerId"`
 	SnapshotId           string                          `position:"Query" name:"SnapshotId"`
 	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"`
 	ClientToken          string                          `position:"Query" name:"ClientToken"`
+	OwnerAccount         string                          `position:"Query" name:"OwnerAccount"`
 	Description          string                          `position:"Query" name:"Description"`
 	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"`
 	Platform             string                          `position:"Query" name:"Platform"`
-	Tag1Value            string                          `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId      string                          `position:"Query" name:"ResourceGroupId"`
 	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"`
 	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"`
 	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
 // CreateImageDiskDeviceMapping is a repeated param struct in CreateImageRequest
 type CreateImageDiskDeviceMapping struct {
 type CreateImageDiskDeviceMapping struct {
-	Size       string `name:"Size"`
 	SnapshotId string `name:"SnapshotId"`
 	SnapshotId string `name:"SnapshotId"`
-	Device     string `name:"Device"`
+	Size       string `name:"Size"`
 	DiskType   string `name:"DiskType"`
 	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
 // 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
 // CreateInstanceRequest is the request struct for api CreateInstance
 type CreateInstanceRequest struct {
 type CreateInstanceRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	Tag4Value                   string                    `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId             requests.Integer          `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId             requests.Integer          `position:"Query" name:"ResourceOwnerId"`
-	Tag2Key                     string                    `position:"Query" name:"Tag.2.Key"`
 	HpcClusterId                string                    `position:"Query" name:"HpcClusterId"`
 	HpcClusterId                string                    `position:"Query" name:"HpcClusterId"`
-	Tag3Key                     string                    `position:"Query" name:"Tag.3.Key"`
 	SecurityEnhancementStrategy string                    `position:"Query" name:"SecurityEnhancementStrategy"`
 	SecurityEnhancementStrategy string                    `position:"Query" name:"SecurityEnhancementStrategy"`
 	KeyPairName                 string                    `position:"Query" name:"KeyPairName"`
 	KeyPairName                 string                    `position:"Query" name:"KeyPairName"`
 	SpotPriceLimit              requests.Float            `position:"Query" name:"SpotPriceLimit"`
 	SpotPriceLimit              requests.Float            `position:"Query" name:"SpotPriceLimit"`
-	Tag1Value                   string                    `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId             string                    `position:"Query" name:"ResourceGroupId"`
 	ResourceGroupId             string                    `position:"Query" name:"ResourceGroupId"`
 	HostName                    string                    `position:"Query" name:"HostName"`
 	HostName                    string                    `position:"Query" name:"HostName"`
 	Password                    string                    `position:"Query" name:"Password"`
 	Password                    string                    `position:"Query" name:"Password"`
+	Tag                         *[]CreateInstanceTag      `position:"Query" name:"Tag"  type:"Repeated"`
 	AutoRenewPeriod             requests.Integer          `position:"Query" name:"AutoRenewPeriod"`
 	AutoRenewPeriod             requests.Integer          `position:"Query" name:"AutoRenewPeriod"`
 	NodeControllerId            string                    `position:"Query" name:"NodeControllerId"`
 	NodeControllerId            string                    `position:"Query" name:"NodeControllerId"`
 	Period                      requests.Integer          `position:"Query" name:"Period"`
 	Period                      requests.Integer          `position:"Query" name:"Period"`
 	DryRun                      requests.Boolean          `position:"Query" name:"DryRun"`
 	DryRun                      requests.Boolean          `position:"Query" name:"DryRun"`
-	Tag5Key                     string                    `position:"Query" name:"Tag.5.Key"`
 	OwnerId                     requests.Integer          `position:"Query" name:"OwnerId"`
 	OwnerId                     requests.Integer          `position:"Query" name:"OwnerId"`
 	VSwitchId                   string                    `position:"Query" name:"VSwitchId"`
 	VSwitchId                   string                    `position:"Query" name:"VSwitchId"`
 	PrivateIpAddress            string                    `position:"Query" name:"PrivateIpAddress"`
 	PrivateIpAddress            string                    `position:"Query" name:"PrivateIpAddress"`
@@ -102,7 +98,6 @@ type CreateInstanceRequest struct {
 	AutoRenew                   requests.Boolean          `position:"Query" name:"AutoRenew"`
 	AutoRenew                   requests.Boolean          `position:"Query" name:"AutoRenew"`
 	InternetChargeType          string                    `position:"Query" name:"InternetChargeType"`
 	InternetChargeType          string                    `position:"Query" name:"InternetChargeType"`
 	ZoneId                      string                    `position:"Query" name:"ZoneId"`
 	ZoneId                      string                    `position:"Query" name:"ZoneId"`
-	Tag4Key                     string                    `position:"Query" name:"Tag.4.Key"`
 	InternetMaxBandwidthIn      requests.Integer          `position:"Query" name:"InternetMaxBandwidthIn"`
 	InternetMaxBandwidthIn      requests.Integer          `position:"Query" name:"InternetMaxBandwidthIn"`
 	UseAdditionalService        requests.Boolean          `position:"Query" name:"UseAdditionalService"`
 	UseAdditionalService        requests.Boolean          `position:"Query" name:"UseAdditionalService"`
 	ImageId                     string                    `position:"Query" name:"ImageId"`
 	ImageId                     string                    `position:"Query" name:"ImageId"`
@@ -118,7 +113,6 @@ type CreateInstanceRequest struct {
 	PasswordInherit             requests.Boolean          `position:"Query" name:"PasswordInherit"`
 	PasswordInherit             requests.Boolean          `position:"Query" name:"PasswordInherit"`
 	InstanceType                string                    `position:"Query" name:"InstanceType"`
 	InstanceType                string                    `position:"Query" name:"InstanceType"`
 	InstanceChargeType          string                    `position:"Query" name:"InstanceChargeType"`
 	InstanceChargeType          string                    `position:"Query" name:"InstanceChargeType"`
-	Tag3Value                   string                    `position:"Query" name:"Tag.3.Value"`
 	DeploymentSetId             string                    `position:"Query" name:"DeploymentSetId"`
 	DeploymentSetId             string                    `position:"Query" name:"DeploymentSetId"`
 	InnerIpAddress              string                    `position:"Query" name:"InnerIpAddress"`
 	InnerIpAddress              string                    `position:"Query" name:"InnerIpAddress"`
 	ResourceOwnerAccount        string                    `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerAccount        string                    `position:"Query" name:"ResourceOwnerAccount"`
@@ -128,23 +122,26 @@ type CreateInstanceRequest struct {
 	DedicatedHostId             string                    `position:"Query" name:"DedicatedHostId"`
 	DedicatedHostId             string                    `position:"Query" name:"DedicatedHostId"`
 	ClusterId                   string                    `position:"Query" name:"ClusterId"`
 	ClusterId                   string                    `position:"Query" name:"ClusterId"`
 	DataDisk                    *[]CreateInstanceDataDisk `position:"Query" name:"DataDisk"  type:"Repeated"`
 	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"`
 	SystemDiskSize              requests.Integer          `position:"Query" name:"SystemDisk.Size"`
-	Tag2Value                   string                    `position:"Query" name:"Tag.2.Value"`
 	SystemDiskDescription       string                    `position:"Query" name:"SystemDisk.Description"`
 	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
 // CreateInstanceDataDisk is a repeated param struct in CreateInstanceRequest
 type CreateInstanceDataDisk struct {
 type CreateInstanceDataDisk struct {
-	Size               string `name:"Size"`
-	SnapshotId         string `name:"SnapshotId"`
-	Category           string `name:"Category"`
 	DiskName           string `name:"DiskName"`
 	DiskName           string `name:"DiskName"`
+	SnapshotId         string `name:"SnapshotId"`
+	Size               string `name:"Size"`
+	Encrypted          string `name:"Encrypted"`
 	Description        string `name:"Description"`
 	Description        string `name:"Description"`
+	Category           string `name:"Category"`
 	Device             string `name:"Device"`
 	Device             string `name:"Device"`
 	DeleteWithInstance string `name:"DeleteWithInstance"`
 	DeleteWithInstance string `name:"DeleteWithInstance"`
-	Encrypted          string `name:"Encrypted"`
 }
 }
 
 
 // CreateInstanceResponse is the response struct for api CreateInstance
 // 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
 // CreateKeyPairRequest is the request struct for api CreateKeyPair
 type CreateKeyPairRequest struct {
 type CreateKeyPairRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 	*requests.RpcRequest
 	LaunchTemplateName          string                                  `position:"Query" name:"LaunchTemplateName"`
 	LaunchTemplateName          string                                  `position:"Query" name:"LaunchTemplateName"`
 	ResourceOwnerId             requests.Integer                        `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId             requests.Integer                        `position:"Query" name:"ResourceOwnerId"`
-	TemplateTag4Key             string                                  `position:"Query" name:"TemplateTag.4.Key"`
 	SecurityEnhancementStrategy string                                  `position:"Query" name:"SecurityEnhancementStrategy"`
 	SecurityEnhancementStrategy string                                  `position:"Query" name:"SecurityEnhancementStrategy"`
 	NetworkType                 string                                  `position:"Query" name:"NetworkType"`
 	NetworkType                 string                                  `position:"Query" name:"NetworkType"`
 	KeyPairName                 string                                  `position:"Query" name:"KeyPairName"`
 	KeyPairName                 string                                  `position:"Query" name:"KeyPairName"`
 	SpotPriceLimit              requests.Float                          `position:"Query" name:"SpotPriceLimit"`
 	SpotPriceLimit              requests.Float                          `position:"Query" name:"SpotPriceLimit"`
 	ImageOwnerAlias             string                                  `position:"Query" name:"ImageOwnerAlias"`
 	ImageOwnerAlias             string                                  `position:"Query" name:"ImageOwnerAlias"`
 	ResourceGroupId             string                                  `position:"Query" name:"ResourceGroupId"`
 	ResourceGroupId             string                                  `position:"Query" name:"ResourceGroupId"`
-	TemplateTag3Key             string                                  `position:"Query" name:"TemplateTag.3.Key"`
 	HostName                    string                                  `position:"Query" name:"HostName"`
 	HostName                    string                                  `position:"Query" name:"HostName"`
 	SystemDiskIops              requests.Integer                        `position:"Query" name:"SystemDisk.Iops"`
 	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"`
 	Tag                         *[]CreateLaunchTemplateTag              `position:"Query" name:"Tag"  type:"Repeated"`
 	Period                      requests.Integer                        `position:"Query" name:"Period"`
 	Period                      requests.Integer                        `position:"Query" name:"Period"`
 	TemplateResourceGroupId     string                                  `position:"Query" name:"TemplateResourceGroupId"`
 	TemplateResourceGroupId     string                                  `position:"Query" name:"TemplateResourceGroupId"`
-	TemplateTag2Value           string                                  `position:"Query" name:"TemplateTag.2.Value"`
 	OwnerId                     requests.Integer                        `position:"Query" name:"OwnerId"`
 	OwnerId                     requests.Integer                        `position:"Query" name:"OwnerId"`
 	VSwitchId                   string                                  `position:"Query" name:"VSwitchId"`
 	VSwitchId                   string                                  `position:"Query" name:"VSwitchId"`
 	SpotStrategy                string                                  `position:"Query" name:"SpotStrategy"`
 	SpotStrategy                string                                  `position:"Query" name:"SpotStrategy"`
 	InstanceName                string                                  `position:"Query" name:"InstanceName"`
 	InstanceName                string                                  `position:"Query" name:"InstanceName"`
 	InternetChargeType          string                                  `position:"Query" name:"InternetChargeType"`
 	InternetChargeType          string                                  `position:"Query" name:"InternetChargeType"`
-	TemplateTag5Key             string                                  `position:"Query" name:"TemplateTag.5.Key"`
 	ZoneId                      string                                  `position:"Query" name:"ZoneId"`
 	ZoneId                      string                                  `position:"Query" name:"ZoneId"`
 	InternetMaxBandwidthIn      requests.Integer                        `position:"Query" name:"InternetMaxBandwidthIn"`
 	InternetMaxBandwidthIn      requests.Integer                        `position:"Query" name:"InternetMaxBandwidthIn"`
 	VersionDescription          string                                  `position:"Query" name:"VersionDescription"`
 	VersionDescription          string                                  `position:"Query" name:"VersionDescription"`
-	TemplateTag1Value           string                                  `position:"Query" name:"TemplateTag.1.Value"`
 	ImageId                     string                                  `position:"Query" name:"ImageId"`
 	ImageId                     string                                  `position:"Query" name:"ImageId"`
 	IoOptimized                 string                                  `position:"Query" name:"IoOptimized"`
 	IoOptimized                 string                                  `position:"Query" name:"IoOptimized"`
 	SecurityGroupId             string                                  `position:"Query" name:"SecurityGroupId"`
 	SecurityGroupId             string                                  `position:"Query" name:"SecurityGroupId"`
@@ -110,12 +105,10 @@ type CreateLaunchTemplateRequest struct {
 	Description                 string                                  `position:"Query" name:"Description"`
 	Description                 string                                  `position:"Query" name:"Description"`
 	SystemDiskCategory          string                                  `position:"Query" name:"SystemDisk.Category"`
 	SystemDiskCategory          string                                  `position:"Query" name:"SystemDisk.Category"`
 	UserData                    string                                  `position:"Query" name:"UserData"`
 	UserData                    string                                  `position:"Query" name:"UserData"`
-	TemplateTag5Value           string                                  `position:"Query" name:"TemplateTag.5.Value"`
 	InstanceType                string                                  `position:"Query" name:"InstanceType"`
 	InstanceType                string                                  `position:"Query" name:"InstanceType"`
 	InstanceChargeType          string                                  `position:"Query" name:"InstanceChargeType"`
 	InstanceChargeType          string                                  `position:"Query" name:"InstanceChargeType"`
 	EnableVmOsConfig            requests.Boolean                        `position:"Query" name:"EnableVmOsConfig"`
 	EnableVmOsConfig            requests.Boolean                        `position:"Query" name:"EnableVmOsConfig"`
 	NetworkInterface            *[]CreateLaunchTemplateNetworkInterface `position:"Query" name:"NetworkInterface"  type:"Repeated"`
 	NetworkInterface            *[]CreateLaunchTemplateNetworkInterface `position:"Query" name:"NetworkInterface"  type:"Repeated"`
-	TemplateTag2Key             string                                  `position:"Query" name:"TemplateTag.2.Key"`
 	ResourceOwnerAccount        string                                  `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerAccount        string                                  `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount                string                                  `position:"Query" name:"OwnerAccount"`
 	OwnerAccount                string                                  `position:"Query" name:"OwnerAccount"`
 	SystemDiskDiskName          string                                  `position:"Query" name:"SystemDisk.DiskName"`
 	SystemDiskDiskName          string                                  `position:"Query" name:"SystemDisk.DiskName"`
@@ -123,13 +116,17 @@ type CreateLaunchTemplateRequest struct {
 	AutoReleaseTime             string                                  `position:"Query" name:"AutoReleaseTime"`
 	AutoReleaseTime             string                                  `position:"Query" name:"AutoReleaseTime"`
 	SpotDuration                requests.Integer                        `position:"Query" name:"SpotDuration"`
 	SpotDuration                requests.Integer                        `position:"Query" name:"SpotDuration"`
 	DataDisk                    *[]CreateLaunchTemplateDataDisk         `position:"Query" name:"DataDisk"  type:"Repeated"`
 	DataDisk                    *[]CreateLaunchTemplateDataDisk         `position:"Query" name:"DataDisk"  type:"Repeated"`
-	TemplateTag4Value           string                                  `position:"Query" name:"TemplateTag.4.Value"`
 	SystemDiskSize              requests.Integer                        `position:"Query" name:"SystemDisk.Size"`
 	SystemDiskSize              requests.Integer                        `position:"Query" name:"SystemDisk.Size"`
 	VpcId                       string                                  `position:"Query" name:"VpcId"`
 	VpcId                       string                                  `position:"Query" name:"VpcId"`
-	TemplateTag1Key             string                                  `position:"Query" name:"TemplateTag.1.Key"`
 	SystemDiskDescription       string                                  `position:"Query" name:"SystemDisk.Description"`
 	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
 // CreateLaunchTemplateTag is a repeated param struct in CreateLaunchTemplateRequest
 type CreateLaunchTemplateTag struct {
 type CreateLaunchTemplateTag struct {
 	Key   string `name:"Key"`
 	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
 // CreateNatGatewayBandwidthPackage is a repeated param struct in CreateNatGatewayRequest
 type CreateNatGatewayBandwidthPackage struct {
 type CreateNatGatewayBandwidthPackage struct {
-	IpCount   string `name:"IpCount"`
 	Bandwidth string `name:"Bandwidth"`
 	Bandwidth string `name:"Bandwidth"`
 	Zone      string `name:"Zone"`
 	Zone      string `name:"Zone"`
+	IpCount   string `name:"IpCount"`
 }
 }
 
 
 // CreateNatGatewayResponse is the response struct for api CreateNatGateway
 // 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
 // CreateNetworkInterfaceRequest is the request struct for api CreateNetworkInterface
 type CreateNetworkInterfaceRequest struct {
 type CreateNetworkInterfaceRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // CreateRouteEntryNextHopList is a repeated param struct in CreateRouteEntryRequest
 type CreateRouteEntryNextHopList struct {
 type CreateRouteEntryNextHopList struct {
-	NextHopType string `name:"NextHopType"`
 	NextHopId   string `name:"NextHopId"`
 	NextHopId   string `name:"NextHopId"`
+	NextHopType string `name:"NextHopType"`
 }
 }
 
 
 // CreateRouteEntryResponse is the response struct for api CreateRouteEntry
 // 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
 // CreateSecurityGroupRequest is the request struct for api CreateSecurityGroup
 type CreateSecurityGroupRequest struct {
 type CreateSecurityGroupRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // CreateSnapshotRequest is the request struct for api CreateSnapshot
 type CreateSnapshotRequest struct {
 type CreateSnapshotRequest struct {
 	*requests.RpcRequest
 	*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
 // 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"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
 	PhysicalConnectionId string           `position:"Query" name:"PhysicalConnectionId"`
 	PhysicalConnectionId string           `position:"Query" name:"PhysicalConnectionId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	UserCidr             string           `position:"Query" name:"UserCidr"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	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
 // DeleteRouteEntryNextHopList is a repeated param struct in DeleteRouteEntryRequest
 type DeleteRouteEntryNextHopList struct {
 type DeleteRouteEntryNextHopList struct {
-	NextHopType string `name:"NextHopType"`
 	NextHopId   string `name:"NextHopId"`
 	NextHopId   string `name:"NextHopId"`
+	NextHopType string `name:"NextHopType"`
 }
 }
 
 
 // DeleteRouteEntryResponse is the response struct for api DeleteRouteEntry
 // 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
 // DescribeAccessPointsFilter is a repeated param struct in DescribeAccessPointsRequest
 type DescribeAccessPointsFilter struct {
 type DescribeAccessPointsFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribeAccessPointsResponse is the response struct for api DescribeAccessPoints
 // 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"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	DedicatedHostId      string           `position:"Query" name:"DedicatedHostId"`
 	DedicatedHostId      string           `position:"Query" name:"DedicatedHostId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceType         string           `position:"Query" name:"ResourceType"`
 	SpotStrategy         string           `position:"Query" name:"SpotStrategy"`
 	SpotStrategy         string           `position:"Query" name:"SpotStrategy"`
 	DestinationResource  string           `position:"Query" name:"DestinationResource"`
 	DestinationResource  string           `position:"Query" name:"DestinationResource"`
 	ZoneId               string           `position:"Query" name:"ZoneId"`
 	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
 // DescribeDisksRequest is the request struct for api DescribeDisks
 type DescribeDisksRequest struct {
 type DescribeDisksRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeHaVipsFilter is a repeated param struct in DescribeHaVipsRequest
 type DescribeHaVipsFilter struct {
 type DescribeHaVipsFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribeHaVipsResponse is the response struct for api DescribeHaVips
 // 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
 // DescribeImageSupportInstanceTypesFilter is a repeated param struct in DescribeImageSupportInstanceTypesRequest
 type DescribeImageSupportInstanceTypesFilter struct {
 type DescribeImageSupportInstanceTypesFilter struct {
-	Key   string `name:"Key"`
 	Value string `name:"Value"`
 	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 }
 
 
 // DescribeImageSupportInstanceTypesResponse is the response struct for api DescribeImageSupportInstanceTypes
 // 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
 // DescribeImagesRequest is the request struct for api DescribeImages
 type DescribeImagesRequest struct {
 type DescribeImagesRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	Tag4Value            string                  `position:"Query" name:"Tag.4.Value"`
 	ActionType           string                  `position:"Query" name:"ActionType"`
 	ActionType           string                  `position:"Query" name:"ActionType"`
 	ResourceOwnerId      requests.Integer        `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId      requests.Integer        `position:"Query" name:"ResourceOwnerId"`
 	ImageId              string                  `position:"Query" name:"ImageId"`
 	ImageId              string                  `position:"Query" name:"ImageId"`
 	SnapshotId           string                  `position:"Query" name:"SnapshotId"`
 	SnapshotId           string                  `position:"Query" name:"SnapshotId"`
-	Tag2Key              string                  `position:"Query" name:"Tag.2.Key"`
 	Usage                string                  `position:"Query" name:"Usage"`
 	Usage                string                  `position:"Query" name:"Usage"`
-	Tag3Key              string                  `position:"Query" name:"Tag.3.Key"`
 	PageNumber           requests.Integer        `position:"Query" name:"PageNumber"`
 	PageNumber           requests.Integer        `position:"Query" name:"PageNumber"`
 	ImageOwnerAlias      string                  `position:"Query" name:"ImageOwnerAlias"`
 	ImageOwnerAlias      string                  `position:"Query" name:"ImageOwnerAlias"`
-	Tag1Value            string                  `position:"Query" name:"Tag.1.Value"`
 	ResourceGroupId      string                  `position:"Query" name:"ResourceGroupId"`
 	ResourceGroupId      string                  `position:"Query" name:"ResourceGroupId"`
 	IsSupportIoOptimized requests.Boolean        `position:"Query" name:"IsSupportIoOptimized"`
 	IsSupportIoOptimized requests.Boolean        `position:"Query" name:"IsSupportIoOptimized"`
 	ImageName            string                  `position:"Query" name:"ImageName"`
 	ImageName            string                  `position:"Query" name:"ImageName"`
 	IsSupportCloudinit   requests.Boolean        `position:"Query" name:"IsSupportCloudinit"`
 	IsSupportCloudinit   requests.Boolean        `position:"Query" name:"IsSupportCloudinit"`
 	PageSize             requests.Integer        `position:"Query" name:"PageSize"`
 	PageSize             requests.Integer        `position:"Query" name:"PageSize"`
 	InstanceType         string                  `position:"Query" name:"InstanceType"`
 	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"`
 	Architecture         string                  `position:"Query" name:"Architecture"`
 	DryRun               requests.Boolean        `position:"Query" name:"DryRun"`
 	DryRun               requests.Boolean        `position:"Query" name:"DryRun"`
-	Tag5Key              string                  `position:"Query" name:"Tag.5.Key"`
 	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
 	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string                  `position:"Query" name:"OwnerAccount"`
 	OwnerAccount         string                  `position:"Query" name:"OwnerAccount"`
 	ShowExpired          requests.Boolean        `position:"Query" name:"ShowExpired"`
 	ShowExpired          requests.Boolean        `position:"Query" name:"ShowExpired"`
 	OSType               string                  `position:"Query" name:"OSType"`
 	OSType               string                  `position:"Query" name:"OSType"`
 	OwnerId              requests.Integer        `position:"Query" name:"OwnerId"`
 	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"`
 	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"`
 	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
 // DescribeImagesFilter is a repeated param struct in DescribeImagesRequest
 type DescribeImagesFilter struct {
 type DescribeImagesFilter struct {
-	Key   string `name:"Key"`
 	Value string `name:"Value"`
 	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 }
 
 
 // DescribeImagesResponse is the response struct for api DescribeImages
 // 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
 // DescribeInstancesRequest is the request struct for api DescribeInstances
 type DescribeInstancesRequest struct {
 type DescribeInstancesRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeKeyPairsRequest is the request struct for api DescribeKeyPairs
 type DescribeKeyPairsRequest struct {
 type DescribeKeyPairsRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeLaunchTemplatesRequest is the request struct for api DescribeLaunchTemplates
 type DescribeLaunchTemplatesRequest struct {
 type DescribeLaunchTemplatesRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeNetworkInterfacesRequest is the request struct for api DescribeNetworkInterfaces
 type DescribeNetworkInterfacesRequest struct {
 type DescribeNetworkInterfacesRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribePhysicalConnectionsFilter is a repeated param struct in DescribePhysicalConnectionsRequest
 type DescribePhysicalConnectionsFilter struct {
 type DescribePhysicalConnectionsFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribePhysicalConnectionsResponse is the response struct for api DescribePhysicalConnections
 // 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
 // DescribeResourceByTagsRequest is the request struct for api DescribeResourceByTags
 type DescribeResourceByTagsRequest struct {
 type DescribeResourceByTagsRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeRouterInterfacesFilter is a repeated param struct in DescribeRouterInterfacesRequest
 type DescribeRouterInterfacesFilter struct {
 type DescribeRouterInterfacesFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribeRouterInterfacesResponse is the response struct for api DescribeRouterInterfaces
 // 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
 // DescribeSecurityGroupsRequest is the request struct for api DescribeSecurityGroups
 type DescribeSecurityGroupsRequest struct {
 type DescribeSecurityGroupsRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeSnapshotsRequest is the request struct for api DescribeSnapshots
 type DescribeSnapshotsRequest struct {
 type DescribeSnapshotsRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeTagsRequest is the request struct for api DescribeTags
 type DescribeTagsRequest struct {
 type DescribeTagsRequest struct {
 	*requests.RpcRequest
 	*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
 // 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
 // DescribeVirtualBorderRoutersFilter is a repeated param struct in DescribeVirtualBorderRoutersRequest
 type DescribeVirtualBorderRoutersFilter struct {
 type DescribeVirtualBorderRoutersFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribeVirtualBorderRoutersResponse is the response struct for api DescribeVirtualBorderRouters
 // 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
 // DescribeVirtualBorderRoutersForPhysicalConnectionFilter is a repeated param struct in DescribeVirtualBorderRoutersForPhysicalConnectionRequest
 type DescribeVirtualBorderRoutersForPhysicalConnectionFilter struct {
 type DescribeVirtualBorderRoutersForPhysicalConnectionFilter struct {
-	Key   string    `name:"Key"`
 	Value *[]string `name:"Value" type:"Repeated"`
 	Value *[]string `name:"Value" type:"Repeated"`
+	Key   string    `name:"Key"`
 }
 }
 
 
 // DescribeVirtualBorderRoutersForPhysicalConnectionResponse is the response struct for api DescribeVirtualBorderRoutersForPhysicalConnection
 // 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
 // ImportImageDiskDeviceMapping is a repeated param struct in ImportImageRequest
 type ImportImageDiskDeviceMapping struct {
 type ImportImageDiskDeviceMapping struct {
-	Format        string `name:"Format"`
 	OSSBucket     string `name:"OSSBucket"`
 	OSSBucket     string `name:"OSSBucket"`
-	OSSObject     string `name:"OSSObject"`
 	DiskImSize    string `name:"DiskImSize"`
 	DiskImSize    string `name:"DiskImSize"`
-	DiskImageSize string `name:"DiskImageSize"`
+	Format        string `name:"Format"`
 	Device        string `name:"Device"`
 	Device        string `name:"Device"`
+	OSSObject     string `name:"OSSObject"`
+	DiskImageSize string `name:"DiskImageSize"`
 }
 }
 
 
 // ImportImageResponse is the response struct for api ImportImage
 // 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"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	VpcId                string           `position:"Query" name:"VpcId"`
 	VpcId                string           `position:"Query" name:"VpcId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	CidrBlock            string           `position:"Query" name:"CidrBlock"`
 	Description          string           `position:"Query" name:"Description"`
 	Description          string           `position:"Query" name:"Description"`
 	UserCidr             string           `position:"Query" name:"UserCidr"`
 	UserCidr             string           `position:"Query" name:"UserCidr"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	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
 // RemoveTagsRequest is the request struct for api RemoveTags
 type RemoveTagsRequest struct {
 type RemoveTagsRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
-	Tag4Value            string           `position:"Query" name:"Tag.4.Value"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceId           string           `position:"Query" name:"ResourceId"`
 	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"`
 	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"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	ResourceType         string           `position:"Query" name:"ResourceType"`
 	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
 // 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"`
 	InstanceId     string `json:"InstanceId" xml:"InstanceId"`
 	InstanceName   string `json:"InstanceName" xml:"InstanceName"`
 	InstanceName   string `json:"InstanceName" xml:"InstanceName"`
 	SourceDiskId   string `json:"SourceDiskId" xml:"SourceDiskId"`
 	SourceDiskId   string `json:"SourceDiskId" xml:"SourceDiskId"`
+	SourceDiskName string `json:"SourceDiskName" xml:"SourceDiskName"`
 	SourceDiskSize int    `json:"SourceDiskSize" xml:"SourceDiskSize"`
 	SourceDiskSize int    `json:"SourceDiskSize" xml:"SourceDiskSize"`
 	SourceDiskType string `json:"SourceDiskType" xml:"SourceDiskType"`
 	SourceDiskType string `json:"SourceDiskType" xml:"SourceDiskType"`
 	TotalSize      int    `json:"TotalSize" xml:"TotalSize"`
 	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"`
+}