Browse Source

Eni Supports Multi-SecurityGroup.

sdk-team 6 years ago
parent
commit
cb4a6b2834

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-11-28 Version: v1.60.272
+- Eni Supports Multi-SecurityGroup.
+
 2019-11-28 Version: v1.60.271
 - Support Order Basis API, include CreateOrder, CloseOrder, ListOrders, GetOrderBaseInfo.
 - Support Order Approval API, include SubmitOrderApproval, ApproveOrder, GetApprovalDetail.

+ 110 - 0
services/ecs/create_maintenance_property.go

@@ -0,0 +1,110 @@
+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"
+)
+
+// CreateMaintenanceProperty invokes the ecs.CreateMaintenanceProperty API synchronously
+// api document: https://help.aliyun.com/api/ecs/createmaintenanceproperty.html
+func (client *Client) CreateMaintenanceProperty(request *CreateMaintenancePropertyRequest) (response *CreateMaintenancePropertyResponse, err error) {
+	response = CreateCreateMaintenancePropertyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateMaintenancePropertyWithChan invokes the ecs.CreateMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/createmaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateMaintenancePropertyWithChan(request *CreateMaintenancePropertyRequest) (<-chan *CreateMaintenancePropertyResponse, <-chan error) {
+	responseChan := make(chan *CreateMaintenancePropertyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateMaintenanceProperty(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateMaintenancePropertyWithCallback invokes the ecs.CreateMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/createmaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateMaintenancePropertyWithCallback(request *CreateMaintenancePropertyRequest, callback func(response *CreateMaintenancePropertyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateMaintenancePropertyResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateMaintenanceProperty(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateMaintenancePropertyRequest is the request struct for api CreateMaintenanceProperty
+type CreateMaintenancePropertyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	ActionOnMaintenance  string           `position:"Query" name:"ActionOnMaintenance"`
+	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"  type:"Repeated"`
+}
+
+// CreateMaintenancePropertyResponse is the response struct for api CreateMaintenanceProperty
+type CreateMaintenancePropertyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateMaintenancePropertyRequest creates a request to invoke CreateMaintenanceProperty API
+func CreateCreateMaintenancePropertyRequest() (request *CreateMaintenancePropertyRequest) {
+	request = &CreateMaintenancePropertyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "CreateMaintenanceProperty", "ecs", "openAPI")
+	return
+}
+
+// CreateCreateMaintenancePropertyResponse creates a response to parse from CreateMaintenanceProperty response
+func CreateCreateMaintenancePropertyResponse() (response *CreateMaintenancePropertyResponse) {
+	response = &CreateMaintenancePropertyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/ecs/create_network_interface.go

@@ -88,6 +88,7 @@ type CreateNetworkInterfaceRequest struct {
 	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"  type:"Repeated"`
 	VSwitchId            string                       `position:"Query" name:"VSwitchId"`
 	PrimaryIpAddress     string                       `position:"Query" name:"PrimaryIpAddress"`
 }

+ 107 - 0
services/ecs/delete_maintenance_property.go

@@ -0,0 +1,107 @@
+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"
+)
+
+// DeleteMaintenanceProperty invokes the ecs.DeleteMaintenanceProperty API synchronously
+// api document: https://help.aliyun.com/api/ecs/deletemaintenanceproperty.html
+func (client *Client) DeleteMaintenanceProperty(request *DeleteMaintenancePropertyRequest) (response *DeleteMaintenancePropertyResponse, err error) {
+	response = CreateDeleteMaintenancePropertyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteMaintenancePropertyWithChan invokes the ecs.DeleteMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/deletemaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteMaintenancePropertyWithChan(request *DeleteMaintenancePropertyRequest) (<-chan *DeleteMaintenancePropertyResponse, <-chan error) {
+	responseChan := make(chan *DeleteMaintenancePropertyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteMaintenanceProperty(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteMaintenancePropertyWithCallback invokes the ecs.DeleteMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/deletemaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteMaintenancePropertyWithCallback(request *DeleteMaintenancePropertyRequest, callback func(response *DeleteMaintenancePropertyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteMaintenancePropertyResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteMaintenanceProperty(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteMaintenancePropertyRequest is the request struct for api DeleteMaintenanceProperty
+type DeleteMaintenancePropertyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           *[]string        `position:"Query" name:"InstanceId"  type:"Repeated"`
+}
+
+// DeleteMaintenancePropertyResponse is the response struct for api DeleteMaintenanceProperty
+type DeleteMaintenancePropertyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteMaintenancePropertyRequest creates a request to invoke DeleteMaintenanceProperty API
+func CreateDeleteMaintenancePropertyRequest() (request *DeleteMaintenancePropertyRequest) {
+	request = &DeleteMaintenancePropertyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "DeleteMaintenanceProperty", "ecs", "openAPI")
+	return
+}
+
+// CreateDeleteMaintenancePropertyResponse creates a response to parse from DeleteMaintenanceProperty response
+func CreateDeleteMaintenancePropertyResponse() (response *DeleteMaintenancePropertyResponse) {
+	response = &DeleteMaintenancePropertyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/ecs/describe_maintenance_property.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"
+)
+
+// DescribeMaintenanceProperty invokes the ecs.DescribeMaintenanceProperty API synchronously
+// api document: https://help.aliyun.com/api/ecs/describemaintenanceproperty.html
+func (client *Client) DescribeMaintenanceProperty(request *DescribeMaintenancePropertyRequest) (response *DescribeMaintenancePropertyResponse, err error) {
+	response = CreateDescribeMaintenancePropertyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeMaintenancePropertyWithChan invokes the ecs.DescribeMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describemaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMaintenancePropertyWithChan(request *DescribeMaintenancePropertyRequest) (<-chan *DescribeMaintenancePropertyResponse, <-chan error) {
+	responseChan := make(chan *DescribeMaintenancePropertyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeMaintenanceProperty(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeMaintenancePropertyWithCallback invokes the ecs.DescribeMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describemaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeMaintenancePropertyWithCallback(request *DescribeMaintenancePropertyRequest, callback func(response *DescribeMaintenancePropertyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeMaintenancePropertyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeMaintenanceProperty(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeMaintenancePropertyRequest is the request struct for api DescribeMaintenanceProperty
+type DescribeMaintenancePropertyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           *[]string        `position:"Query" name:"InstanceId"  type:"Repeated"`
+}
+
+// DescribeMaintenancePropertyResponse is the response struct for api DescribeMaintenanceProperty
+type DescribeMaintenancePropertyResponse struct {
+	*responses.BaseResponse
+	RequestId              string                 `json:"RequestId" xml:"RequestId"`
+	TotalCount             int                    `json:"TotalCount" xml:"TotalCount"`
+	PageNumber             int                    `json:"PageNumber" xml:"PageNumber"`
+	PageSize               int                    `json:"PageSize" xml:"PageSize"`
+	MaintenancePropertySet MaintenancePropertySet `json:"MaintenancePropertySet" xml:"MaintenancePropertySet"`
+}
+
+// CreateDescribeMaintenancePropertyRequest creates a request to invoke DescribeMaintenanceProperty API
+func CreateDescribeMaintenancePropertyRequest() (request *DescribeMaintenancePropertyRequest) {
+	request = &DescribeMaintenancePropertyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "DescribeMaintenanceProperty", "ecs", "openAPI")
+	return
+}
+
+// CreateDescribeMaintenancePropertyResponse creates a response to parse from DescribeMaintenanceProperty response
+func CreateDescribeMaintenancePropertyResponse() (response *DescribeMaintenancePropertyResponse) {
+	response = &DescribeMaintenancePropertyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/ecs/modify_maintenance_property.go

@@ -0,0 +1,110 @@
+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"
+)
+
+// ModifyMaintenanceProperty invokes the ecs.ModifyMaintenanceProperty API synchronously
+// api document: https://help.aliyun.com/api/ecs/modifymaintenanceproperty.html
+func (client *Client) ModifyMaintenanceProperty(request *ModifyMaintenancePropertyRequest) (response *ModifyMaintenancePropertyResponse, err error) {
+	response = CreateModifyMaintenancePropertyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyMaintenancePropertyWithChan invokes the ecs.ModifyMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/modifymaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyMaintenancePropertyWithChan(request *ModifyMaintenancePropertyRequest) (<-chan *ModifyMaintenancePropertyResponse, <-chan error) {
+	responseChan := make(chan *ModifyMaintenancePropertyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyMaintenanceProperty(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyMaintenancePropertyWithCallback invokes the ecs.ModifyMaintenanceProperty API asynchronously
+// api document: https://help.aliyun.com/api/ecs/modifymaintenanceproperty.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyMaintenancePropertyWithCallback(request *ModifyMaintenancePropertyRequest, callback func(response *ModifyMaintenancePropertyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyMaintenancePropertyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyMaintenanceProperty(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyMaintenancePropertyRequest is the request struct for api ModifyMaintenanceProperty
+type ModifyMaintenancePropertyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	ActionOnMaintenance  string           `position:"Query" name:"ActionOnMaintenance"`
+	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"  type:"Repeated"`
+}
+
+// ModifyMaintenancePropertyResponse is the response struct for api ModifyMaintenanceProperty
+type ModifyMaintenancePropertyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyMaintenancePropertyRequest creates a request to invoke ModifyMaintenanceProperty API
+func CreateModifyMaintenancePropertyRequest() (request *ModifyMaintenancePropertyRequest) {
+	request = &ModifyMaintenancePropertyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "ModifyMaintenanceProperty", "ecs", "openAPI")
+	return
+}
+
+// CreateModifyMaintenancePropertyResponse creates a response to parse from ModifyMaintenanceProperty response
+func CreateModifyMaintenancePropertyResponse() (response *ModifyMaintenancePropertyResponse) {
+	response = &ModifyMaintenancePropertyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 5
services/ecs/run_instances.go

@@ -155,11 +155,12 @@ type RunInstancesTag struct {
 
 // RunInstancesNetworkInterface is a repeated param struct in RunInstancesRequest
 type RunInstancesNetworkInterface struct {
-	PrimaryIpAddress     string `name:"PrimaryIpAddress"`
-	VSwitchId            string `name:"VSwitchId"`
-	SecurityGroupId      string `name:"SecurityGroupId"`
-	NetworkInterfaceName string `name:"NetworkInterfaceName"`
-	Description          string `name:"Description"`
+	PrimaryIpAddress     string    `name:"PrimaryIpAddress"`
+	VSwitchId            string    `name:"VSwitchId"`
+	SecurityGroupId      string    `name:"SecurityGroupId"`
+	SecurityGroupIds     *[]string `name:"SecurityGroupIds" type:"Repeated"`
+	NetworkInterfaceName string    `name:"NetworkInterfaceName"`
+	Description          string    `name:"Description"`
 }
 
 // RunInstancesDataDisk is a repeated param struct in RunInstancesRequest

+ 1 - 0
services/ecs/struct_demand.go

@@ -22,6 +22,7 @@ type Demand struct {
 	InstanceTypeFamily string      `json:"InstanceTypeFamily" xml:"InstanceTypeFamily"`
 	DemandId           string      `json:"DemandId" xml:"DemandId"`
 	DemandName         string      `json:"DemandName" xml:"DemandName"`
+	Comment            string      `json:"Comment" xml:"Comment"`
 	DemandDescription  string      `json:"DemandDescription" xml:"DemandDescription"`
 	InstanceType       string      `json:"InstanceType" xml:"InstanceType"`
 	InstanceChargeType string      `json:"InstanceChargeType" xml:"InstanceChargeType"`

+ 24 - 0
services/ecs/struct_maintenance_property.go

@@ -0,0 +1,24 @@
+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.
+
+// MaintenanceProperty is a nested struct in ecs response
+type MaintenanceProperty struct {
+	InstanceId          string `json:"InstanceId" xml:"InstanceId"`
+	StartTime           string `json:"StartTime" xml:"StartTime"`
+	EndTime             string `json:"EndTime" xml:"EndTime"`
+	ActionOnMaintenance string `json:"ActionOnMaintenance" xml:"ActionOnMaintenance"`
+}

+ 21 - 0
services/ecs/struct_maintenance_property_set.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.
+
+// MaintenancePropertySet is a nested struct in ecs response
+type MaintenancePropertySet struct {
+	MaintenanceProperty []MaintenanceProperty `json:"MaintenanceProperty" xml:"MaintenanceProperty"`
+}

+ 1 - 0
services/ecs/struct_snapshot.go

@@ -18,6 +18,7 @@ package ecs
 // Snapshot is a nested struct in ecs response
 type Snapshot struct {
 	SnapshotId        string                  `json:"SnapshotId" xml:"SnapshotId"`
+	SnapshotSN        string                  `json:"SnapshotSN" xml:"SnapshotSN"`
 	SnapshotName      string                  `json:"SnapshotName" xml:"SnapshotName"`
 	Progress          string                  `json:"Progress" xml:"Progress"`
 	ProductCode       string                  `json:"ProductCode" xml:"ProductCode"`