Ver código fonte

Merge pull request #312 from aliyun/dev_8.12

fix:modify eci wrong struct
wenzuochao 6 anos atrás
pai
commit
d98bbbc7b7

+ 1 - 0
services/eci/create_container_group.go

@@ -101,6 +101,7 @@ type CreateContainerGroupRequest struct {
 	Arn                     *[]CreateContainerGroupArn                     `position:"Query" name:"Arn" type:"Repeated"`
 	InstanceType            string                                         `position:"Query" name:"InstanceType"`
 	SlsEnable               requests.Boolean                               `position:"Query" name:"SlsEnable"`
+	ImageSnapshotId         string                                         `position:"Query" name:"ImageSnapshotId"`
 	DnsConfig               CreateContainerGroupDnsConfig                  `position:"Query" name:"DnsConfig" type:"Struct"`
 	SecurityContext         CreateContainerGroupSecurityContext            `position:"Query" name:"SecurityContext" type:"Struct"`
 }

+ 12 - 24
services/eci/describe_container_group_metric.go

@@ -90,28 +90,20 @@ type DescribeContainerGroupMetricRequest struct {
 // DescribeContainerGroupMetricResponse is the response struct for api DescribeContainerGroupMetric
 type DescribeContainerGroupMetricResponse struct {
 	*responses.BaseResponse
-	RequestId        string                                 `json:"RequestId" xml:"RequestId"`
-	ContainerGroupId string                                 `json:"ContainerGroupId" xml:"ContainerGroupId"`
-	Records          []DescribeContainerGroupMetricRecords0 `json:"Records" xml:"Records"`
+	RequestId        string                                `json:"RequestId" xml:"RequestId"`
+	ContainerGroupId string                                `json:"ContainerGroupId" xml:"ContainerGroupId"`
+	Records          []DescribeContainerGroupMetricRecord0 `json:"Records" xml:"Records"`
 }
 
-type DescribeContainerGroupMetricRecords0 struct {
-	Record []DescribeContainerGroupMetricRecord1 `json:"Record" xml:"Record"`
+type DescribeContainerGroupMetricRecord0 struct {
+	Timestamp  string                                   `json:"Timestamp" xml:"Timestamp"`
+	Containers []DescribeContainerGroupMetricContainer1 `json:"Containers" xml:"Containers"`
+	CPU        DescribeContainerGroupMetricCPU1         `json:"CPU" xml:"CPU"`
+	Memory     DescribeContainerGroupMetricMemory1      `json:"Memory" xml:"Memory"`
+	Network    DescribeContainerGroupMetricNetwork1     `json:"Network" xml:"Network"`
 }
 
-type DescribeContainerGroupMetricRecord1 struct {
-	Timestamp  string                                    `json:"Timestamp" xml:"Timestamp"`
-	Containers []DescribeContainerGroupMetricContainers1 `json:"Containers" xml:"Containers"`
-	CPU        DescribeContainerGroupMetricCPU1          `json:"CPU" xml:"CPU"`
-	Memory     DescribeContainerGroupMetricMemory1       `json:"Memory" xml:"Memory"`
-	Network    DescribeContainerGroupMetricNetwork1      `json:"Network" xml:"Network"`
-}
-
-type DescribeContainerGroupMetricContainers1 struct {
-	Container []DescribeContainerGroupMetricContainer2 `json:"Container" xml:"Container"`
-}
-
-type DescribeContainerGroupMetricContainer2 struct {
+type DescribeContainerGroupMetricContainer1 struct {
 	Name   string                              `json:"Name" xml:"Name"`
 	CPU    DescribeContainerGroupMetricCPU2    `json:"CPU" xml:"CPU"`
 	Memory DescribeContainerGroupMetricMemory2 `json:"Memory" xml:"Memory"`
@@ -148,14 +140,10 @@ type DescribeContainerGroupMetricMemory1 struct {
 }
 
 type DescribeContainerGroupMetricNetwork1 struct {
-	Interfaces []DescribeContainerGroupMetricInterfaces2 `json:"Interfaces" xml:"Interfaces"`
-}
-
-type DescribeContainerGroupMetricInterfaces2 struct {
-	Interface []DescribeContainerGroupMetricInterface3 `json:"Interface" xml:"Interface"`
+	Interfaces []DescribeContainerGroupMetricInterface2 `json:"Interfaces" xml:"Interfaces"`
 }
 
-type DescribeContainerGroupMetricInterface3 struct {
+type DescribeContainerGroupMetricInterface2 struct {
 	TxBytes  int64  `json:"TxBytes" xml:"TxBytes"`
 	RxBytes  int64  `json:"RxBytes" xml:"RxBytes"`
 	TxErrors int64  `json:"TxErrors" xml:"TxErrors"`

+ 15 - 27
services/eci/describe_container_group_price.go

@@ -93,44 +93,32 @@ type DescribeContainerGroupPriceResponse struct {
 }
 
 type DescribeContainerGroupPricePriceInfo0 struct {
-	Rules []DescribeContainerGroupPriceRules1 `json:"Rules" xml:"Rules"`
-	Price DescribeContainerGroupPricePrice1   `json:"Price" xml:"Price"`
+	Rules []DescribeContainerGroupPriceRule1 `json:"Rules" xml:"Rules"`
+	Price DescribeContainerGroupPricePrice1  `json:"Price" xml:"Price"`
 }
 
-type DescribeContainerGroupPriceRules1 struct {
-	Rule []DescribeContainerGroupPriceRule2 `json:"Rule" xml:"Rule"`
-}
-
-type DescribeContainerGroupPriceRule2 struct {
+type DescribeContainerGroupPriceRule1 struct {
 	RuleId      int64  `json:"RuleId" xml:"RuleId"`
 	Description string `json:"Description" xml:"Description"`
 }
 
 type DescribeContainerGroupPricePrice1 struct {
-	OriginalPrice float32                                   `json:"OriginalPrice" xml:"OriginalPrice"`
-	DiscountPrice float32                                   `json:"DiscountPrice" xml:"DiscountPrice"`
-	TradePrice    float32                                   `json:"TradePrice" xml:"TradePrice"`
-	Currency      string                                    `json:"Currency" xml:"Currency"`
-	DetailInfos   []DescribeContainerGroupPriceDetailInfos2 `json:"DetailInfos" xml:"DetailInfos"`
-}
-
-type DescribeContainerGroupPriceDetailInfos2 struct {
-	DetailInfo []DescribeContainerGroupPriceDetailInfo3 `json:"DetailInfo" xml:"DetailInfo"`
-}
-
-type DescribeContainerGroupPriceDetailInfo3 struct {
-	Resource      string                              `json:"Resource" xml:"Resource"`
-	OriginalPrice float32                             `json:"OriginalPrice" xml:"OriginalPrice"`
-	DiscountPrice float32                             `json:"DiscountPrice" xml:"DiscountPrice"`
-	TradePrice    float32                             `json:"TradePrice" xml:"TradePrice"`
-	Rules         []DescribeContainerGroupPriceRules3 `json:"Rules" xml:"Rules"`
+	OriginalPrice float32                                  `json:"OriginalPrice" xml:"OriginalPrice"`
+	DiscountPrice float32                                  `json:"DiscountPrice" xml:"DiscountPrice"`
+	TradePrice    float32                                  `json:"TradePrice" xml:"TradePrice"`
+	Currency      string                                   `json:"Currency" xml:"Currency"`
+	DetailInfos   []DescribeContainerGroupPriceDetailInfo2 `json:"DetailInfos" xml:"DetailInfos"`
 }
 
-type DescribeContainerGroupPriceRules3 struct {
-	Rule []DescribeContainerGroupPriceRule4 `json:"Rule" xml:"Rule"`
+type DescribeContainerGroupPriceDetailInfo2 struct {
+	Resource      string                             `json:"Resource" xml:"Resource"`
+	OriginalPrice float32                            `json:"OriginalPrice" xml:"OriginalPrice"`
+	DiscountPrice float32                            `json:"DiscountPrice" xml:"DiscountPrice"`
+	TradePrice    float32                            `json:"TradePrice" xml:"TradePrice"`
+	Rules         []DescribeContainerGroupPriceRule3 `json:"Rules" xml:"Rules"`
 }
 
-type DescribeContainerGroupPriceRule4 struct {
+type DescribeContainerGroupPriceRule3 struct {
 	RuleId      int64  `json:"RuleId" xml:"RuleId"`
 	Description string `json:"Description" xml:"Description"`
 }

+ 53 - 105
services/eci/describe_container_groups.go

@@ -99,17 +99,13 @@ type DescribeContainerGroupsTag struct {
 // DescribeContainerGroupsResponse is the response struct for api DescribeContainerGroups
 type DescribeContainerGroupsResponse struct {
 	*responses.BaseResponse
-	RequestId       string                                    `json:"RequestId" xml:"RequestId"`
-	NextToken       string                                    `json:"NextToken" xml:"NextToken"`
-	TotalCount      int                                       `json:"TotalCount" xml:"TotalCount"`
-	ContainerGroups []DescribeContainerGroupsContainerGroups0 `json:"ContainerGroups" xml:"ContainerGroups"`
+	RequestId       string                                   `json:"RequestId" xml:"RequestId"`
+	NextToken       string                                   `json:"NextToken" xml:"NextToken"`
+	TotalCount      int                                      `json:"TotalCount" xml:"TotalCount"`
+	ContainerGroups []DescribeContainerGroupsContainerGroup0 `json:"ContainerGroups" xml:"ContainerGroups"`
 }
 
-type DescribeContainerGroupsContainerGroups0 struct {
-	ContainerGroup []DescribeContainerGroupsContainerGroup1 `json:"ContainerGroup" xml:"ContainerGroup"`
-}
-
-type DescribeContainerGroupsContainerGroup1 struct {
+type DescribeContainerGroupsContainerGroup0 struct {
 	ContainerGroupId   string                                     `json:"ContainerGroupId" xml:"ContainerGroupId"`
 	ContainerGroupName string                                     `json:"ContainerGroupName" xml:"ContainerGroupName"`
 	RegionId           string                                     `json:"RegionId" xml:"RegionId"`
@@ -128,30 +124,22 @@ type DescribeContainerGroupsContainerGroup1 struct {
 	InstanceType       string                                     `json:"InstanceType" xml:"InstanceType"`
 	ExpiredTime        string                                     `json:"ExpiredTime" xml:"ExpiredTime"`
 	FailedTime         string                                     `json:"FailedTime" xml:"FailedTime"`
-	Tags               []DescribeContainerGroupsTags1             `json:"Tags" xml:"Tags"`
-	Events             []DescribeContainerGroupsEvents1           `json:"Events" xml:"Events"`
-	Containers         []DescribeContainerGroupsContainers1       `json:"Containers" xml:"Containers"`
-	Volumes            []DescribeContainerGroupsVolumes1          `json:"Volumes" xml:"Volumes"`
-	InitContainers     []DescribeContainerGroupsInitContainers1   `json:"InitContainers" xml:"InitContainers"`
-	HostAliases        []DescribeContainerGroupsHostAliases1      `json:"HostAliases" xml:"HostAliases"`
+	Tags               []DescribeContainerGroupsLabel1            `json:"Tags" xml:"Tags"`
+	Events             []DescribeContainerGroupsEvent1            `json:"Events" xml:"Events"`
+	Containers         []DescribeContainerGroupsContainer1        `json:"Containers" xml:"Containers"`
+	Volumes            []DescribeContainerGroupsVolume1           `json:"Volumes" xml:"Volumes"`
+	InitContainers     []DescribeContainerGroupsContainer1        `json:"InitContainers" xml:"InitContainers"`
+	HostAliases        []DescribeContainerGroupsHostAliase1       `json:"HostAliases" xml:"HostAliases"`
 	DnsConfig          DescribeContainerGroupsDnsConfig1          `json:"DnsConfig" xml:"DnsConfig"`
 	EciSecurityContext DescribeContainerGroupsEciSecurityContext1 `json:"EciSecurityContext" xml:"EciSecurityContext"`
 }
 
-type DescribeContainerGroupsTags1 struct {
-	Label []DescribeContainerGroupsLabel2 `json:"Label" xml:"Label"`
-}
-
-type DescribeContainerGroupsLabel2 struct {
+type DescribeContainerGroupsLabel1 struct {
 	Key   string `json:"Key" xml:"Key"`
 	Value string `json:"Value" xml:"Value"`
 }
 
-type DescribeContainerGroupsEvents1 struct {
-	Event []DescribeContainerGroupsEvent2 `json:"Event" xml:"Event"`
-}
-
-type DescribeContainerGroupsEvent2 struct {
+type DescribeContainerGroupsEvent1 struct {
 	Count          int    `json:"Count" xml:"Count"`
 	Type           string `json:"Type" xml:"Type"`
 	Name           string `json:"Name" xml:"Name"`
@@ -161,56 +149,40 @@ type DescribeContainerGroupsEvent2 struct {
 	Reason         string `json:"Reason" xml:"Reason"`
 }
 
-type DescribeContainerGroupsContainers1 struct {
-	Container []DescribeContainerGroupsContainer2 `json:"Container" xml:"Container"`
-}
-
-type DescribeContainerGroupsContainer2 struct {
-	Name            string                                    `json:"Name" xml:"Name"`
-	Image           string                                    `json:"Image" xml:"Image"`
-	Memory          float32                                   `json:"Memory" xml:"Memory"`
-	Cpu             float32                                   `json:"Cpu" xml:"Cpu"`
-	RestartCount    int                                       `json:"RestartCount" xml:"RestartCount"`
-	WorkingDir      string                                    `json:"WorkingDir" xml:"WorkingDir"`
-	ImagePullPolicy string                                    `json:"ImagePullPolicy" xml:"ImagePullPolicy"`
-	Ready           bool                                      `json:"Ready" xml:"Ready"`
-	Gpu             int                                       `json:"Gpu" xml:"Gpu"`
-	VolumeMounts    []DescribeContainerGroupsVolumeMounts2    `json:"VolumeMounts" xml:"VolumeMounts"`
-	Ports           []DescribeContainerGroupsPorts2           `json:"Ports" xml:"Ports"`
-	EnvironmentVars []DescribeContainerGroupsEnvironmentVars2 `json:"EnvironmentVars" xml:"EnvironmentVars"`
-	Commands        []string                                  `json:"Commands" xml:"Commands"`
-	Args            []string                                  `json:"Args" xml:"Args"`
-	PreviousState   DescribeContainerGroupsPreviousState2     `json:"PreviousState" xml:"PreviousState"`
-	CurrentState    DescribeContainerGroupsCurrentState2      `json:"CurrentState" xml:"CurrentState"`
-	ReadinessProbe  DescribeContainerGroupsReadinessProbe2    `json:"ReadinessProbe" xml:"ReadinessProbe"`
-	LivenessProbe   DescribeContainerGroupsLivenessProbe2     `json:"LivenessProbe" xml:"LivenessProbe"`
-	SecurityContext DescribeContainerGroupsSecurityContext2   `json:"SecurityContext" xml:"SecurityContext"`
-}
-
-type DescribeContainerGroupsVolumeMounts2 struct {
-	VolumeMount []DescribeContainerGroupsVolumeMount3 `json:"VolumeMount" xml:"VolumeMount"`
-}
-
-type DescribeContainerGroupsVolumeMount3 struct {
+type DescribeContainerGroupsContainer1 struct {
+	Name            string                                   `json:"Name" xml:"Name"`
+	Image           string                                   `json:"Image" xml:"Image"`
+	Memory          float32                                  `json:"Memory" xml:"Memory"`
+	Cpu             float32                                  `json:"Cpu" xml:"Cpu"`
+	RestartCount    int                                      `json:"RestartCount" xml:"RestartCount"`
+	WorkingDir      string                                   `json:"WorkingDir" xml:"WorkingDir"`
+	ImagePullPolicy string                                   `json:"ImagePullPolicy" xml:"ImagePullPolicy"`
+	Ready           bool                                     `json:"Ready" xml:"Ready"`
+	Gpu             int                                      `json:"Gpu" xml:"Gpu"`
+	VolumeMounts    []DescribeContainerGroupsVolumeMount2    `json:"VolumeMounts" xml:"VolumeMounts"`
+	Ports           []DescribeContainerGroupsPort2           `json:"Ports" xml:"Ports"`
+	EnvironmentVars []DescribeContainerGroupsEnvironmentVar2 `json:"EnvironmentVars" xml:"EnvironmentVars"`
+	Commands        []string                                 `json:"Commands" xml:"Commands"`
+	Args            []string                                 `json:"Args" xml:"Args"`
+	PreviousState   DescribeContainerGroupsPreviousState2    `json:"PreviousState" xml:"PreviousState"`
+	CurrentState    DescribeContainerGroupsCurrentState2     `json:"CurrentState" xml:"CurrentState"`
+	ReadinessProbe  DescribeContainerGroupsReadinessProbe2   `json:"ReadinessProbe" xml:"ReadinessProbe"`
+	LivenessProbe   DescribeContainerGroupsLivenessProbe2    `json:"LivenessProbe" xml:"LivenessProbe"`
+	SecurityContext DescribeContainerGroupsSecurityContext2  `json:"SecurityContext" xml:"SecurityContext"`
+}
+
+type DescribeContainerGroupsVolumeMount2 struct {
 	Name      string `json:"Name" xml:"Name"`
 	MountPath string `json:"MountPath" xml:"MountPath"`
 	ReadOnly  bool   `json:"ReadOnly" xml:"ReadOnly"`
 }
 
-type DescribeContainerGroupsPorts2 struct {
-	Port []DescribeContainerGroupsPort3 `json:"Port" xml:"Port"`
-}
-
-type DescribeContainerGroupsPort3 struct {
+type DescribeContainerGroupsPort2 struct {
 	Port     int    `json:"Port" xml:"Port"`
 	Protocol string `json:"Protocol" xml:"Protocol"`
 }
 
-type DescribeContainerGroupsEnvironmentVars2 struct {
-	EnvironmentVar []DescribeContainerGroupsEnvironmentVar3 `json:"EnvironmentVar" xml:"EnvironmentVar"`
-}
-
-type DescribeContainerGroupsEnvironmentVar3 struct {
+type DescribeContainerGroupsEnvironmentVar2 struct {
 	Key       string                            `json:"Key" xml:"Key"`
 	Value     string                            `json:"Value" xml:"Value"`
 	ValueFrom DescribeContainerGroupsValueFrom3 `json:"ValueFrom" xml:"ValueFrom"`
@@ -289,65 +261,41 @@ type DescribeContainerGroupsCapability3 struct {
 	Adds []string `json:"Adds" xml:"Adds"`
 }
 
-type DescribeContainerGroupsVolumes1 struct {
-	Volume []DescribeContainerGroupsVolume2 `json:"Volume" xml:"Volume"`
-}
-
-type DescribeContainerGroupsVolume2 struct {
-	Type                              string                                                      `json:"Type" xml:"Type"`
-	Name                              string                                                      `json:"Name" xml:"Name"`
-	NFSVolumePath                     string                                                      `json:"NFSVolumePath" xml:"NFSVolumePath"`
-	NFSVolumeServer                   string                                                      `json:"NFSVolumeServer" xml:"NFSVolumeServer"`
-	NFSVolumeReadOnly                 bool                                                        `json:"NFSVolumeReadOnly" xml:"NFSVolumeReadOnly"`
-	ConfigFileVolumeConfigFileToPaths []DescribeContainerGroupsConfigFileVolumeConfigFileToPaths2 `json:"ConfigFileVolumeConfigFileToPaths" xml:"ConfigFileVolumeConfigFileToPaths"`
+type DescribeContainerGroupsVolume1 struct {
+	Type                              string                                                     `json:"Type" xml:"Type"`
+	Name                              string                                                     `json:"Name" xml:"Name"`
+	NFSVolumePath                     string                                                     `json:"NFSVolumePath" xml:"NFSVolumePath"`
+	NFSVolumeServer                   string                                                     `json:"NFSVolumeServer" xml:"NFSVolumeServer"`
+	NFSVolumeReadOnly                 bool                                                       `json:"NFSVolumeReadOnly" xml:"NFSVolumeReadOnly"`
+	ConfigFileVolumeConfigFileToPaths []DescribeContainerGroupsConfigFileVolumeConfigFileToPath2 `json:"ConfigFileVolumeConfigFileToPaths" xml:"ConfigFileVolumeConfigFileToPaths"`
 }
 
-type DescribeContainerGroupsConfigFileVolumeConfigFileToPaths2 struct {
-	ConfigFileVolumeConfigFileToPath []DescribeContainerGroupsConfigFileVolumeConfigFileToPath3 `json:"ConfigFileVolumeConfigFileToPath" xml:"ConfigFileVolumeConfigFileToPath"`
-}
-
-type DescribeContainerGroupsConfigFileVolumeConfigFileToPath3 struct {
+type DescribeContainerGroupsConfigFileVolumeConfigFileToPath2 struct {
 	Content string `json:"Content" xml:"Content"`
 	Path    string `json:"Path" xml:"Path"`
 }
 
-type DescribeContainerGroupsInitContainers1 struct {
-	Container []DescribeContainerGroupsContainer2 `json:"Container" xml:"Container"`
-}
-
-type DescribeContainerGroupsHostAliases1 struct {
-	HostAliase []DescribeContainerGroupsHostAliase2 `json:"HostAliase" xml:"HostAliase"`
-}
-
-type DescribeContainerGroupsHostAliase2 struct {
+type DescribeContainerGroupsHostAliase1 struct {
 	Ip        string   `json:"Ip" xml:"Ip"`
 	Hostnames []string `json:"Hostnames" xml:"Hostnames"`
 }
 
 type DescribeContainerGroupsDnsConfig1 struct {
-	Options     []DescribeContainerGroupsOptions2 `json:"Options" xml:"Options"`
-	NameServers []string                          `json:"NameServers" xml:"NameServers"`
-	Searches    []string                          `json:"Searches" xml:"Searches"`
+	Options     []DescribeContainerGroupsOption2 `json:"Options" xml:"Options"`
+	NameServers []string                         `json:"NameServers" xml:"NameServers"`
+	Searches    []string                         `json:"Searches" xml:"Searches"`
 }
 
-type DescribeContainerGroupsOptions2 struct {
-	Option []DescribeContainerGroupsOption3 `json:"Option" xml:"Option"`
-}
-
-type DescribeContainerGroupsOption3 struct {
+type DescribeContainerGroupsOption2 struct {
 	Name  string `json:"Name" xml:"Name"`
 	Value string `json:"Value" xml:"Value"`
 }
 
 type DescribeContainerGroupsEciSecurityContext1 struct {
-	Sysctls []DescribeContainerGroupsSysctls2 `json:"Sysctls" xml:"Sysctls"`
-}
-
-type DescribeContainerGroupsSysctls2 struct {
-	Sysctl []DescribeContainerGroupsSysctl3 `json:"Sysctl" xml:"Sysctl"`
+	Sysctls []DescribeContainerGroupsSysctl2 `json:"Sysctls" xml:"Sysctls"`
 }
 
-type DescribeContainerGroupsSysctl3 struct {
+type DescribeContainerGroupsSysctl2 struct {
 	Name  string `json:"Name" xml:"Name"`
 	Value string `json:"Value" xml:"Value"`
 }

+ 13 - 29
services/eci/describe_multi_container_group_metric.go

@@ -88,36 +88,24 @@ type DescribeMultiContainerGroupMetricRequest struct {
 // DescribeMultiContainerGroupMetricResponse is the response struct for api DescribeMultiContainerGroupMetric
 type DescribeMultiContainerGroupMetricResponse struct {
 	*responses.BaseResponse
-	RequestId    string                                           `json:"RequestId" xml:"RequestId"`
-	MonitorDatas []DescribeMultiContainerGroupMetricMonitorDatas0 `json:"MonitorDatas" xml:"MonitorDatas"`
+	RequestId    string                                     `json:"RequestId" xml:"RequestId"`
+	MonitorDatas []DescribeMultiContainerGroupMetricRecord0 `json:"MonitorDatas" xml:"MonitorDatas"`
 }
 
-type DescribeMultiContainerGroupMetricMonitorDatas0 struct {
-	Record []DescribeMultiContainerGroupMetricRecord1 `json:"Record" xml:"Record"`
-}
-
-type DescribeMultiContainerGroupMetricRecord1 struct {
+type DescribeMultiContainerGroupMetricRecord0 struct {
 	ContainerGroupId string                                      `json:"ContainerGroupId" xml:"ContainerGroupId"`
-	Records          []DescribeMultiContainerGroupMetricRecords1 `json:"Records" xml:"Records"`
-}
-
-type DescribeMultiContainerGroupMetricRecords1 struct {
-	PodStat []DescribeMultiContainerGroupMetricPodStat2 `json:"PodStat" xml:"PodStat"`
+	Records          []DescribeMultiContainerGroupMetricPodStat1 `json:"Records" xml:"Records"`
 }
 
-type DescribeMultiContainerGroupMetricPodStat2 struct {
-	Timestamp  string                                         `json:"Timestamp" xml:"Timestamp"`
-	Containers []DescribeMultiContainerGroupMetricContainers2 `json:"Containers" xml:"Containers"`
-	CPU        DescribeMultiContainerGroupMetricCPU2          `json:"CPU" xml:"CPU"`
-	Memory     DescribeMultiContainerGroupMetricMemory2       `json:"Memory" xml:"Memory"`
-	Network    DescribeMultiContainerGroupMetricNetwork2      `json:"Network" xml:"Network"`
+type DescribeMultiContainerGroupMetricPodStat1 struct {
+	Timestamp  string                                        `json:"Timestamp" xml:"Timestamp"`
+	Containers []DescribeMultiContainerGroupMetricContainer2 `json:"Containers" xml:"Containers"`
+	CPU        DescribeMultiContainerGroupMetricCPU2         `json:"CPU" xml:"CPU"`
+	Memory     DescribeMultiContainerGroupMetricMemory2      `json:"Memory" xml:"Memory"`
+	Network    DescribeMultiContainerGroupMetricNetwork2     `json:"Network" xml:"Network"`
 }
 
-type DescribeMultiContainerGroupMetricContainers2 struct {
-	Container []DescribeMultiContainerGroupMetricContainer3 `json:"Container" xml:"Container"`
-}
-
-type DescribeMultiContainerGroupMetricContainer3 struct {
+type DescribeMultiContainerGroupMetricContainer2 struct {
 	Name   string                                   `json:"Name" xml:"Name"`
 	CPU    DescribeMultiContainerGroupMetricCPU3    `json:"CPU" xml:"CPU"`
 	Memory DescribeMultiContainerGroupMetricMemory3 `json:"Memory" xml:"Memory"`
@@ -154,14 +142,10 @@ type DescribeMultiContainerGroupMetricMemory2 struct {
 }
 
 type DescribeMultiContainerGroupMetricNetwork2 struct {
-	Interfaces []DescribeMultiContainerGroupMetricInterfaces3 `json:"Interfaces" xml:"Interfaces"`
-}
-
-type DescribeMultiContainerGroupMetricInterfaces3 struct {
-	Interface []DescribeMultiContainerGroupMetricInterface4 `json:"Interface" xml:"Interface"`
+	Interfaces []DescribeMultiContainerGroupMetricInterface3 `json:"Interfaces" xml:"Interfaces"`
 }
 
-type DescribeMultiContainerGroupMetricInterface4 struct {
+type DescribeMultiContainerGroupMetricInterface3 struct {
 	TxBytes  int64  `json:"TxBytes" xml:"TxBytes"`
 	RxBytes  int64  `json:"RxBytes" xml:"RxBytes"`
 	TxErrors int64  `json:"TxErrors" xml:"TxErrors"`

+ 28 - 72
services/eci/export_container_group_template.go

@@ -100,16 +100,12 @@ type ExportContainerGroupTemplateTemplate0 struct {
 	EipInstanceId      string                                 `json:"EipInstanceId" xml:"EipInstanceId"`
 	ContainerGroupName string                                 `json:"ContainerGroupName" xml:"ContainerGroupName"`
 	InstanceType       string                                 `json:"InstanceType" xml:"InstanceType"`
-	Tags               []ExportContainerGroupTemplateTags1    `json:"Tags" xml:"Tags"`
+	Tags               []ExportContainerGroupTemplateTag1     `json:"Tags" xml:"Tags"`
 	Resources          ExportContainerGroupTemplateResources1 `json:"Resources" xml:"Resources"`
 	Spec               ExportContainerGroupTemplateSpec1      `json:"Spec" xml:"Spec"`
 }
 
-type ExportContainerGroupTemplateTags1 struct {
-	Tag []ExportContainerGroupTemplateTag2 `json:"Tag" xml:"Tag"`
-}
-
-type ExportContainerGroupTemplateTag2 struct {
+type ExportContainerGroupTemplateTag1 struct {
 	Key   string `json:"Key" xml:"Key"`
 	Value string `json:"Value" xml:"Value"`
 }
@@ -120,20 +116,16 @@ type ExportContainerGroupTemplateResources1 struct {
 }
 
 type ExportContainerGroupTemplateSpec1 struct {
-	RestartPolicy   string                                        `json:"RestartPolicy" xml:"RestartPolicy"`
-	DnsPolicy       string                                        `json:"DnsPolicy" xml:"DnsPolicy"`
-	Volumes         []ExportContainerGroupTemplateVolumes2        `json:"Volumes" xml:"Volumes"`
-	InitContainers  []ExportContainerGroupTemplateInitContainers2 `json:"InitContainers" xml:"InitContainers"`
-	Containers      []ExportContainerGroupTemplateContainers2     `json:"Containers" xml:"Containers"`
-	DnsConfig       ExportContainerGroupTemplateDnsConfig2        `json:"DnsConfig" xml:"DnsConfig"`
-	SecurityContext ExportContainerGroupTemplateSecurityContext2  `json:"SecurityContext" xml:"SecurityContext"`
-}
-
-type ExportContainerGroupTemplateVolumes2 struct {
-	Volume []ExportContainerGroupTemplateVolume3 `json:"Volume" xml:"Volume"`
+	RestartPolicy   string                                       `json:"RestartPolicy" xml:"RestartPolicy"`
+	DnsPolicy       string                                       `json:"DnsPolicy" xml:"DnsPolicy"`
+	Volumes         []ExportContainerGroupTemplateVolume2        `json:"Volumes" xml:"Volumes"`
+	InitContainers  []ExportContainerGroupTemplateInitContainer2 `json:"InitContainers" xml:"InitContainers"`
+	Containers      []ExportContainerGroupTemplateContainers2    `json:"Containers" xml:"Containers"`
+	DnsConfig       ExportContainerGroupTemplateDnsConfig2       `json:"DnsConfig" xml:"DnsConfig"`
+	SecurityContext ExportContainerGroupTemplateSecurityContext2 `json:"SecurityContext" xml:"SecurityContext"`
 }
 
-type ExportContainerGroupTemplateVolume3 struct {
+type ExportContainerGroupTemplateVolume2 struct {
 	Name       string                                  `json:"Name" xml:"Name"`
 	ConfigFile ExportContainerGroupTemplateConfigFile3 `json:"ConfigFile" xml:"ConfigFile"`
 	EmptyDir   ExportContainerGroupTemplateEmptyDir3   `json:"EmptyDir" xml:"EmptyDir"`
@@ -141,15 +133,11 @@ type ExportContainerGroupTemplateVolume3 struct {
 }
 
 type ExportContainerGroupTemplateConfigFile3 struct {
-	DefaultMode int                                  `json:"DefaultMode" xml:"DefaultMode"`
-	Items       []ExportContainerGroupTemplateItems4 `json:"Items" xml:"Items"`
-}
-
-type ExportContainerGroupTemplateItems4 struct {
-	Item []ExportContainerGroupTemplateItem5 `json:"Item" xml:"Item"`
+	DefaultMode int                                 `json:"DefaultMode" xml:"DefaultMode"`
+	Items       []ExportContainerGroupTemplateItem4 `json:"Items" xml:"Items"`
 }
 
-type ExportContainerGroupTemplateItem5 struct {
+type ExportContainerGroupTemplateItem4 struct {
 	Mode    int    `json:"Mode" xml:"Mode"`
 	Path    string `json:"Path" xml:"Path"`
 	Content string `json:"Content" xml:"Content"`
@@ -165,11 +153,7 @@ type ExportContainerGroupTemplateNfs3 struct {
 	ReadOnly bool   `json:"ReadOnly" xml:"ReadOnly"`
 }
 
-type ExportContainerGroupTemplateInitContainers2 struct {
-	InitContainer []ExportContainerGroupTemplateInitContainer3 `json:"InitContainer" xml:"InitContainer"`
-}
-
-type ExportContainerGroupTemplateInitContainer3 struct {
+type ExportContainerGroupTemplateInitContainer2 struct {
 	Name            string                                       `json:"Name" xml:"Name"`
 	Image           string                                       `json:"Image" xml:"Image"`
 	ImagePullPolicy string                                       `json:"ImagePullPolicy" xml:"ImagePullPolicy"`
@@ -178,8 +162,8 @@ type ExportContainerGroupTemplateInitContainer3 struct {
 	Tty             bool                                         `json:"Tty" xml:"Tty"`
 	WorkingDir      string                                       `json:"WorkingDir" xml:"WorkingDir"`
 	Env             []ExportContainerGroupTemplateEnv3           `json:"Env" xml:"Env"`
-	Ports           []ExportContainerGroupTemplatePorts3         `json:"Ports" xml:"Ports"`
-	VolumeMounts    []ExportContainerGroupTemplateVolumeMounts3  `json:"VolumeMounts" xml:"VolumeMounts"`
+	Ports           []ExportContainerGroupTemplatePort3          `json:"Ports" xml:"Ports"`
+	VolumeMounts    []ExportContainerGroupTemplateVolumeMount3   `json:"VolumeMounts" xml:"VolumeMounts"`
 	Command         []string                                     `json:"Command" xml:"Command"`
 	Args            []string                                     `json:"Args" xml:"Args"`
 	SecurityContext ExportContainerGroupTemplateSecurityContext3 `json:"SecurityContext" xml:"SecurityContext"`
@@ -187,10 +171,6 @@ type ExportContainerGroupTemplateInitContainer3 struct {
 }
 
 type ExportContainerGroupTemplateEnv3 struct {
-	Env []ExportContainerGroupTemplateEnv4 `json:"Env" xml:"Env"`
-}
-
-type ExportContainerGroupTemplateEnv4 struct {
 	Name      string                                 `json:"Name" xml:"Name"`
 	Value     string                                 `json:"Value" xml:"Value"`
 	ValueFrom ExportContainerGroupTemplateValueFrom4 `json:"ValueFrom" xml:"ValueFrom"`
@@ -204,21 +184,13 @@ type ExportContainerGroupTemplateFieldRef5 struct {
 	FieldPath string `json:"FieldPath" xml:"FieldPath"`
 }
 
-type ExportContainerGroupTemplatePorts3 struct {
-	Port []ExportContainerGroupTemplatePort4 `json:"Port" xml:"Port"`
-}
-
-type ExportContainerGroupTemplatePort4 struct {
+type ExportContainerGroupTemplatePort3 struct {
 	Name          string `json:"Name" xml:"Name"`
 	Protocol      string `json:"Protocol" xml:"Protocol"`
 	ContainerPort int    `json:"ContainerPort" xml:"ContainerPort"`
 }
 
-type ExportContainerGroupTemplateVolumeMounts3 struct {
-	VolumeMount []ExportContainerGroupTemplateVolumeMount4 `json:"VolumeMount" xml:"VolumeMount"`
-}
-
-type ExportContainerGroupTemplateVolumeMount4 struct {
+type ExportContainerGroupTemplateVolumeMount3 struct {
 	Name      string `json:"Name" xml:"Name"`
 	SubPath   string `json:"SubPath" xml:"SubPath"`
 	MountPath string `json:"MountPath" xml:"MountPath"`
@@ -226,14 +198,10 @@ type ExportContainerGroupTemplateVolumeMount4 struct {
 }
 
 type ExportContainerGroupTemplateSecurityContext3 struct {
-	Sysctls []ExportContainerGroupTemplateSysctls4 `json:"Sysctls" xml:"Sysctls"`
-}
-
-type ExportContainerGroupTemplateSysctls4 struct {
-	Sysctl []ExportContainerGroupTemplateSysctl5 `json:"Sysctl" xml:"Sysctl"`
+	Sysctls []ExportContainerGroupTemplateSysctl4 `json:"Sysctls" xml:"Sysctls"`
 }
 
-type ExportContainerGroupTemplateSysctl5 struct {
+type ExportContainerGroupTemplateSysctl4 struct {
 	Name  string `json:"Name" xml:"Name"`
 	Value string `json:"Value" xml:"Value"`
 }
@@ -244,10 +212,6 @@ type ExportContainerGroupTemplateResources3 struct {
 }
 
 type ExportContainerGroupTemplateContainers2 struct {
-	Containers []ExportContainerGroupTemplateContainers3 `json:"Containers" xml:"Containers"`
-}
-
-type ExportContainerGroupTemplateContainers3 struct {
 	Name            string                                       `json:"Name" xml:"Name"`
 	Image           string                                       `json:"Image" xml:"Image"`
 	ImagePullPolicy string                                       `json:"ImagePullPolicy" xml:"ImagePullPolicy"`
@@ -256,8 +220,8 @@ type ExportContainerGroupTemplateContainers3 struct {
 	Tty             bool                                         `json:"Tty" xml:"Tty"`
 	WorkingDir      string                                       `json:"WorkingDir" xml:"WorkingDir"`
 	Env             []ExportContainerGroupTemplateEnv3           `json:"Env" xml:"Env"`
-	Ports           []ExportContainerGroupTemplatePorts3         `json:"Ports" xml:"Ports"`
-	VolumeMounts    []ExportContainerGroupTemplateVolumeMounts3  `json:"VolumeMounts" xml:"VolumeMounts"`
+	Ports           []ExportContainerGroupTemplatePort3          `json:"Ports" xml:"Ports"`
+	VolumeMounts    []ExportContainerGroupTemplateVolumeMount3   `json:"VolumeMounts" xml:"VolumeMounts"`
 	Command         []string                                     `json:"Command" xml:"Command"`
 	Args            []string                                     `json:"Args" xml:"Args"`
 	SecurityContext ExportContainerGroupTemplateSecurityContext3 `json:"SecurityContext" xml:"SecurityContext"`
@@ -303,29 +267,21 @@ type ExportContainerGroupTemplateLivenessProbe3 struct {
 }
 
 type ExportContainerGroupTemplateDnsConfig2 struct {
-	Options     []ExportContainerGroupTemplateOptions3 `json:"Options" xml:"Options"`
-	NameServers []string                               `json:"NameServers" xml:"NameServers"`
-	Searches    []string                               `json:"Searches" xml:"Searches"`
-}
-
-type ExportContainerGroupTemplateOptions3 struct {
-	Option []ExportContainerGroupTemplateOption4 `json:"Option" xml:"Option"`
+	Options     []ExportContainerGroupTemplateOption3 `json:"Options" xml:"Options"`
+	NameServers []string                              `json:"NameServers" xml:"NameServers"`
+	Searches    []string                              `json:"Searches" xml:"Searches"`
 }
 
-type ExportContainerGroupTemplateOption4 struct {
+type ExportContainerGroupTemplateOption3 struct {
 	Name  string `json:"Name" xml:"Name"`
 	Value string `json:"Value" xml:"Value"`
 }
 
 type ExportContainerGroupTemplateSecurityContext2 struct {
-	Sysctls []ExportContainerGroupTemplateSysctls3 `json:"Sysctls" xml:"Sysctls"`
+	Sysctls []ExportContainerGroupTemplateSysctl3 `json:"Sysctls" xml:"Sysctls"`
 }
 
-type ExportContainerGroupTemplateSysctls3 struct {
-	Sysctl []ExportContainerGroupTemplateSysctl4 `json:"Sysctl" xml:"Sysctl"`
-}
-
-type ExportContainerGroupTemplateSysctl4 struct {
+type ExportContainerGroupTemplateSysctl3 struct {
 	Name  string `json:"Name" xml:"Name"`
 	Value string `json:"Value" xml:"Value"`
 }