Przeglądaj źródła

Merge branch 'master' of https://github.com/aliyun/alibaba-cloud-sdk-go into dev-jxy

jxyowen 7 lat temu
rodzic
commit
24365ab728

+ 14 - 0
ChangeLog.txt

@@ -1,3 +1,17 @@
+2018-04-11 Version: 1.8.1
+1, GetLibrary/FetchLibraries add return ctime
+2, Editphotos add input param takenAt
+
+2018-04-10 Version: 1.8.0
+1, Add three interfaces CreateNetworkInterfacePermission DeleteNetworkInterfacePermission DescribeNetworkInterfacePermissions.
+
+2018-04-10 Version: 1.7.3
+1, publish Project API.
+2, publish Service API.
+3, publish Service order API.
+4, publish Credential API.
+5, publish CAS API.
+
 2018-04-09 Version: 1.7.2
 1, Add api: QueryMetricData, QueryMetricTop, TaskConfigCreate, TaskConfigDelete, TaskConfigEnable, TaskConfigList, TaskConfigModify, TaskConfigUnhealthy
 2, Remove api: PutSystemEvent 

+ 1 - 0
services/cloudphoto/edit_photos.go

@@ -78,6 +78,7 @@ type EditPhotosRequest struct {
 	*requests.RpcRequest
 	PhotoId         *[]string        `position:"Query" name:"PhotoId"  type:"Repeated"`
 	ShareExpireTime requests.Integer `position:"Query" name:"ShareExpireTime"`
+	TakenAt         requests.Integer `position:"Query" name:"TakenAt"`
 	Title           string           `position:"Query" name:"Title"`
 	Remark          string           `position:"Query" name:"Remark"`
 	StoreName       string           `position:"Query" name:"StoreName"`

+ 1 - 0
services/cloudphoto/struct_library.go

@@ -17,6 +17,7 @@ package cloudphoto
 
 // Library is a nested struct in cloudphoto response
 type Library struct {
+	Ctime           int             `json:"Ctime" xml:"Ctime"`
 	LibraryId       string          `json:"LibraryId" xml:"LibraryId"`
 	AutoCleanConfig AutoCleanConfig `json:"AutoCleanConfig" xml:"AutoCleanConfig"`
 	Quota           Quota           `json:"Quota" xml:"Quota"`

+ 2 - 2
services/csb/find_approval_order_list.go

@@ -76,12 +76,12 @@ func (client *Client) FindApprovalOrderListWithCallback(request *FindApprovalOrd
 // FindApprovalOrderListRequest is the request struct for api FindApprovalOrderList
 type FindApprovalOrderListRequest struct {
 	*requests.RpcRequest
+	ServiceId   requests.Integer `position:"Query" name:"ServiceId"`
 	ServiceName string           `position:"Query" name:"ServiceName"`
-	PageNum     requests.Integer `position:"Query" name:"PageNum"`
 	Alias       string           `position:"Query" name:"Alias"`
 	ProjectName string           `position:"Query" name:"ProjectName"`
 	OnlyPending requests.Boolean `position:"Query" name:"OnlyPending"`
-	ServiceId   requests.Integer `position:"Query" name:"ServiceId"`
+	PageNum     requests.Integer `position:"Query" name:"PageNum"`
 }
 
 // FindApprovalOrderListResponse is the response struct for api FindApprovalOrderList

+ 2 - 2
services/csb/find_approve_service_list.go

@@ -76,12 +76,12 @@ func (client *Client) FindApproveServiceListWithCallback(request *FindApproveSer
 // FindApproveServiceListRequest is the request struct for api FindApproveServiceList
 type FindApproveServiceListRequest struct {
 	*requests.RpcRequest
-	ShowDelService requests.Boolean `position:"Query" name:"showDelService"`
+	ApproveLevel   string           `position:"Query" name:"approveLevel"`
 	ServiceName    string           `position:"Query" name:"serviceName"`
 	Alias          string           `position:"Query" name:"alias"`
 	ProjectName    string           `position:"Query" name:"projectName"`
 	CsbId          requests.Integer `position:"Query" name:"csbId"`
-	ApproveLevel   string           `position:"Query" name:"approveLevel"`
+	ShowDelService requests.Boolean `position:"Query" name:"showDelService"`
 }
 
 // FindApproveServiceListResponse is the response struct for api FindApproveServiceList

+ 1 - 1
services/csb/find_orderable_list.go

@@ -76,11 +76,11 @@ func (client *Client) FindOrderableListWithCallback(request *FindOrderableListRe
 // FindOrderableListRequest is the request struct for api FindOrderableList
 type FindOrderableListRequest struct {
 	*requests.RpcRequest
+	PageNum     requests.Integer `position:"Query" name:"PageNum"`
 	CsbId       requests.Integer `position:"Query" name:"CsbId"`
 	ServiceName string           `position:"Query" name:"ServiceName"`
 	Alias       string           `position:"Query" name:"Alias"`
 	ProjectName string           `position:"Query" name:"ProjectName"`
-	PageNum     requests.Integer `position:"Query" name:"PageNum"`
 }
 
 // FindOrderableListResponse is the response struct for api FindOrderableList

+ 2 - 2
services/csb/find_ordered_list.go

@@ -76,11 +76,11 @@ func (client *Client) FindOrderedListWithCallback(request *FindOrderedListReques
 // FindOrderedListRequest is the request struct for api FindOrderedList
 type FindOrderedListRequest struct {
 	*requests.RpcRequest
-	Alias        string           `position:"Query" name:"Alias"`
+	ProjectName  string           `position:"Query" name:"ProjectName"`
 	PageNum      requests.Integer `position:"Query" name:"PageNum"`
 	ServiceId    requests.Integer `position:"Query" name:"ServiceId"`
 	ServiceName  string           `position:"Query" name:"ServiceName"`
-	ProjectName  string           `position:"Query" name:"ProjectName"`
+	Alias        string           `position:"Query" name:"Alias"`
 	ShowDelOrder requests.Boolean `position:"Query" name:"ShowDelOrder"`
 	Status       string           `position:"Query" name:"Status"`
 	CsbId        requests.Integer `position:"Query" name:"CsbId"`

+ 3 - 3
services/csb/find_service_list.go

@@ -76,13 +76,13 @@ func (client *Client) FindServiceListWithCallback(request *FindServiceListReques
 // FindServiceListRequest is the request struct for api FindServiceList
 type FindServiceListRequest struct {
 	*requests.RpcRequest
-	ShowDelService requests.Boolean `position:"Query" name:"ShowDelService"`
+	PageNum        requests.Integer `position:"Query" name:"PageNum"`
+	CasShowType    requests.Integer `position:"Query" name:"CasShowType"`
 	ServiceName    string           `position:"Query" name:"ServiceName"`
 	Alias          string           `position:"Query" name:"Alias"`
 	ProjectName    string           `position:"Query" name:"ProjectName"`
 	CsbId          requests.Integer `position:"Query" name:"CsbId"`
-	CasShowType    requests.Integer `position:"Query" name:"CasShowType"`
-	PageNum        requests.Integer `position:"Query" name:"PageNum"`
+	ShowDelService requests.Boolean `position:"Query" name:"ShowDelService"`
 }
 
 // FindServiceListResponse is the response struct for api FindServiceList

+ 1 - 1
services/csb/struct_data.go

@@ -28,9 +28,9 @@ type Data struct {
 	Service         Service                  `json:"Service" xml:"Service"`
 	Order           Order                    `json:"Order" xml:"Order"`
 	Instance        Instance                 `json:"Instance" xml:"Instance"`
-	ServiceList     []Service                `json:"ServiceList" xml:"ServiceList"`
 	ProjectList     []Project                `json:"ProjectList" xml:"ProjectList"`
 	CredentialList  []Credential             `json:"CredentialList" xml:"CredentialList"`
 	OrderList       []OrderInFindOrderedList `json:"OrderList" xml:"OrderList"`
 	ItemList        []Item                   `json:"ItemList" xml:"ItemList"`
+	ServiceList     []Service                `json:"ServiceList" xml:"ServiceList"`
 }

+ 1 - 0
services/ecs/create_instance.go

@@ -125,6 +125,7 @@ type CreateInstanceRequest struct {
 	SpotStrategy                string                    `position:"Query" name:"SpotStrategy"`
 	KeyPairName                 string                    `position:"Query" name:"KeyPairName"`
 	SpotPriceLimit              requests.Float            `position:"Query" name:"SpotPriceLimit"`
+	SpotInterruptionBehavior    string                    `position:"Query" name:"SpotInterruptionBehavior"`
 	RamRoleName                 string                    `position:"Query" name:"RamRoleName"`
 	SecurityEnhancementStrategy string                    `position:"Query" name:"SecurityEnhancementStrategy"`
 	ResourceGroupId             string                    `position:"Query" name:"ResourceGroupId"`

+ 103 - 0
services/ecs/create_network_interface_permission.go

@@ -0,0 +1,103 @@
+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"
+)
+
+// CreateNetworkInterfacePermission invokes the ecs.CreateNetworkInterfacePermission API synchronously
+// api document: https://help.aliyun.com/api/ecs/createnetworkinterfacepermission.html
+func (client *Client) CreateNetworkInterfacePermission(request *CreateNetworkInterfacePermissionRequest) (response *CreateNetworkInterfacePermissionResponse, err error) {
+	response = CreateCreateNetworkInterfacePermissionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateNetworkInterfacePermissionWithChan invokes the ecs.CreateNetworkInterfacePermission API asynchronously
+// api document: https://help.aliyun.com/api/ecs/createnetworkinterfacepermission.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateNetworkInterfacePermissionWithChan(request *CreateNetworkInterfacePermissionRequest) (<-chan *CreateNetworkInterfacePermissionResponse, <-chan error) {
+	responseChan := make(chan *CreateNetworkInterfacePermissionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateNetworkInterfacePermission(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateNetworkInterfacePermissionWithCallback invokes the ecs.CreateNetworkInterfacePermission API asynchronously
+// api document: https://help.aliyun.com/api/ecs/createnetworkinterfacepermission.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateNetworkInterfacePermissionWithCallback(request *CreateNetworkInterfacePermissionRequest, callback func(response *CreateNetworkInterfacePermissionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateNetworkInterfacePermissionResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateNetworkInterfacePermission(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateNetworkInterfacePermissionRequest is the request struct for api CreateNetworkInterfacePermission
+type CreateNetworkInterfacePermissionRequest struct {
+	*requests.RpcRequest
+}
+
+// CreateNetworkInterfacePermissionResponse is the response struct for api CreateNetworkInterfacePermission
+type CreateNetworkInterfacePermissionResponse struct {
+	*responses.BaseResponse
+	RequestId                  string                     `json:"RequestId" xml:"RequestId"`
+	NetworkInterfacePermission NetworkInterfacePermission `json:"NetworkInterfacePermission" xml:"NetworkInterfacePermission"`
+}
+
+// CreateCreateNetworkInterfacePermissionRequest creates a request to invoke CreateNetworkInterfacePermission API
+func CreateCreateNetworkInterfacePermissionRequest() (request *CreateNetworkInterfacePermissionRequest) {
+	request = &CreateNetworkInterfacePermissionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "CreateNetworkInterfacePermission", "ecs", "openAPI")
+	return
+}
+
+// CreateCreateNetworkInterfacePermissionResponse creates a response to parse from CreateNetworkInterfacePermission response
+func CreateCreateNetworkInterfacePermissionResponse() (response *CreateNetworkInterfacePermissionResponse) {
+	response = &CreateNetworkInterfacePermissionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ecs/delete_network_interface_permission.go

@@ -0,0 +1,102 @@
+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"
+)
+
+// DeleteNetworkInterfacePermission invokes the ecs.DeleteNetworkInterfacePermission API synchronously
+// api document: https://help.aliyun.com/api/ecs/deletenetworkinterfacepermission.html
+func (client *Client) DeleteNetworkInterfacePermission(request *DeleteNetworkInterfacePermissionRequest) (response *DeleteNetworkInterfacePermissionResponse, err error) {
+	response = CreateDeleteNetworkInterfacePermissionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteNetworkInterfacePermissionWithChan invokes the ecs.DeleteNetworkInterfacePermission API asynchronously
+// api document: https://help.aliyun.com/api/ecs/deletenetworkinterfacepermission.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNetworkInterfacePermissionWithChan(request *DeleteNetworkInterfacePermissionRequest) (<-chan *DeleteNetworkInterfacePermissionResponse, <-chan error) {
+	responseChan := make(chan *DeleteNetworkInterfacePermissionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteNetworkInterfacePermission(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteNetworkInterfacePermissionWithCallback invokes the ecs.DeleteNetworkInterfacePermission API asynchronously
+// api document: https://help.aliyun.com/api/ecs/deletenetworkinterfacepermission.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteNetworkInterfacePermissionWithCallback(request *DeleteNetworkInterfacePermissionRequest, callback func(response *DeleteNetworkInterfacePermissionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteNetworkInterfacePermissionResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteNetworkInterfacePermission(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteNetworkInterfacePermissionRequest is the request struct for api DeleteNetworkInterfacePermission
+type DeleteNetworkInterfacePermissionRequest struct {
+	*requests.RpcRequest
+}
+
+// DeleteNetworkInterfacePermissionResponse is the response struct for api DeleteNetworkInterfacePermission
+type DeleteNetworkInterfacePermissionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteNetworkInterfacePermissionRequest creates a request to invoke DeleteNetworkInterfacePermission API
+func CreateDeleteNetworkInterfacePermissionRequest() (request *DeleteNetworkInterfacePermissionRequest) {
+	request = &DeleteNetworkInterfacePermissionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "DeleteNetworkInterfacePermission", "ecs", "openAPI")
+	return
+}
+
+// CreateDeleteNetworkInterfacePermissionResponse creates a response to parse from DeleteNetworkInterfacePermission response
+func CreateDeleteNetworkInterfacePermissionResponse() (response *DeleteNetworkInterfacePermissionResponse) {
+	response = &DeleteNetworkInterfacePermissionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 5
services/ecs/describe_events.go

@@ -81,11 +81,11 @@ type DescribeEventsRequest struct {
 // DescribeEventsResponse is the response struct for api DescribeEvents
 type DescribeEventsResponse struct {
 	*responses.BaseResponse
-	RequestId string               `json:"RequestId" xml:"RequestId"`
-	PageNo    int                  `json:"PageNo" xml:"PageNo"`
-	PageSize  int                  `json:"PageSize" xml:"PageSize"`
-	Total     int                  `json:"Total" xml:"Total"`
-	Data      DataInDescribeEvents `json:"Data" xml:"Data"`
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	PageNumber int    `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int    `json:"PageSize" xml:"PageSize"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	Events     Events `json:"Events" xml:"Events"`
 }
 
 // CreateDescribeEventsRequest creates a request to invoke DescribeEvents API

+ 106 - 0
services/ecs/describe_network_interface_permissions.go

@@ -0,0 +1,106 @@
+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"
+)
+
+// DescribeNetworkInterfacePermissions invokes the ecs.DescribeNetworkInterfacePermissions API synchronously
+// api document: https://help.aliyun.com/api/ecs/describenetworkinterfacepermissions.html
+func (client *Client) DescribeNetworkInterfacePermissions(request *DescribeNetworkInterfacePermissionsRequest) (response *DescribeNetworkInterfacePermissionsResponse, err error) {
+	response = CreateDescribeNetworkInterfacePermissionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeNetworkInterfacePermissionsWithChan invokes the ecs.DescribeNetworkInterfacePermissions API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describenetworkinterfacepermissions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNetworkInterfacePermissionsWithChan(request *DescribeNetworkInterfacePermissionsRequest) (<-chan *DescribeNetworkInterfacePermissionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeNetworkInterfacePermissionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeNetworkInterfacePermissions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeNetworkInterfacePermissionsWithCallback invokes the ecs.DescribeNetworkInterfacePermissions API asynchronously
+// api document: https://help.aliyun.com/api/ecs/describenetworkinterfacepermissions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeNetworkInterfacePermissionsWithCallback(request *DescribeNetworkInterfacePermissionsRequest, callback func(response *DescribeNetworkInterfacePermissionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeNetworkInterfacePermissionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeNetworkInterfacePermissions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeNetworkInterfacePermissionsRequest is the request struct for api DescribeNetworkInterfacePermissions
+type DescribeNetworkInterfacePermissionsRequest struct {
+	*requests.RpcRequest
+}
+
+// DescribeNetworkInterfacePermissionsResponse is the response struct for api DescribeNetworkInterfacePermissions
+type DescribeNetworkInterfacePermissionsResponse 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"`
+	NetworkInterfacePermissions NetworkInterfacePermissions `json:"NetworkInterfacePermissions" xml:"NetworkInterfacePermissions"`
+}
+
+// CreateDescribeNetworkInterfacePermissionsRequest creates a request to invoke DescribeNetworkInterfacePermissions API
+func CreateDescribeNetworkInterfacePermissionsRequest() (request *DescribeNetworkInterfacePermissionsRequest) {
+	request = &DescribeNetworkInterfacePermissionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "DescribeNetworkInterfacePermissions", "ecs", "openAPI")
+	return
+}
+
+// CreateDescribeNetworkInterfacePermissionsResponse creates a response to parse from DescribeNetworkInterfacePermissions response
+func CreateDescribeNetworkInterfacePermissionsResponse() (response *DescribeNetworkInterfacePermissionsResponse) {
+	response = &DescribeNetworkInterfacePermissionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/ecs/describe_recommend_instance_type.go

@@ -92,8 +92,8 @@ type DescribeRecommendInstanceTypeRequest struct {
 // DescribeRecommendInstanceTypeResponse is the response struct for api DescribeRecommendInstanceType
 type DescribeRecommendInstanceTypeResponse struct {
 	*responses.BaseResponse
-	RequestId string                              `json:"RequestId" xml:"RequestId"`
-	Data      DataInDescribeRecommendInstanceType `json:"Data" xml:"Data"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
 }
 
 // CreateDescribeRecommendInstanceTypeRequest creates a request to invoke DescribeRecommendInstanceType API

+ 105 - 0
services/ecs/get_instance_console_output.go

@@ -0,0 +1,105 @@
+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"
+)
+
+// GetInstanceConsoleOutput invokes the ecs.GetInstanceConsoleOutput API synchronously
+// api document: https://help.aliyun.com/api/ecs/getinstanceconsoleoutput.html
+func (client *Client) GetInstanceConsoleOutput(request *GetInstanceConsoleOutputRequest) (response *GetInstanceConsoleOutputResponse, err error) {
+	response = CreateGetInstanceConsoleOutputResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceConsoleOutputWithChan invokes the ecs.GetInstanceConsoleOutput API asynchronously
+// api document: https://help.aliyun.com/api/ecs/getinstanceconsoleoutput.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceConsoleOutputWithChan(request *GetInstanceConsoleOutputRequest) (<-chan *GetInstanceConsoleOutputResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceConsoleOutputResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstanceConsoleOutput(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceConsoleOutputWithCallback invokes the ecs.GetInstanceConsoleOutput API asynchronously
+// api document: https://help.aliyun.com/api/ecs/getinstanceconsoleoutput.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceConsoleOutputWithCallback(request *GetInstanceConsoleOutputRequest, callback func(response *GetInstanceConsoleOutputResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceConsoleOutputResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstanceConsoleOutput(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceConsoleOutputRequest is the request struct for api GetInstanceConsoleOutput
+type GetInstanceConsoleOutputRequest struct {
+	*requests.RpcRequest
+}
+
+// GetInstanceConsoleOutputResponse is the response struct for api GetInstanceConsoleOutput
+type GetInstanceConsoleOutputResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	InstanceId     string `json:"InstanceId" xml:"InstanceId"`
+	ConsoleOutput  string `json:"ConsoleOutput" xml:"ConsoleOutput"`
+	LastUpdateTime string `json:"LastUpdateTime" xml:"LastUpdateTime"`
+}
+
+// CreateGetInstanceConsoleOutputRequest creates a request to invoke GetInstanceConsoleOutput API
+func CreateGetInstanceConsoleOutputRequest() (request *GetInstanceConsoleOutputRequest) {
+	request = &GetInstanceConsoleOutputRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "GetInstanceConsoleOutput", "ecs", "openAPI")
+	return
+}
+
+// CreateGetInstanceConsoleOutputResponse creates a response to parse from GetInstanceConsoleOutput response
+func CreateGetInstanceConsoleOutputResponse() (response *GetInstanceConsoleOutputResponse) {
+	response = &GetInstanceConsoleOutputResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ecs/get_instance_screenshot.go

@@ -0,0 +1,104 @@
+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"
+)
+
+// GetInstanceScreenshot invokes the ecs.GetInstanceScreenshot API synchronously
+// api document: https://help.aliyun.com/api/ecs/getinstancescreenshot.html
+func (client *Client) GetInstanceScreenshot(request *GetInstanceScreenshotRequest) (response *GetInstanceScreenshotResponse, err error) {
+	response = CreateGetInstanceScreenshotResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceScreenshotWithChan invokes the ecs.GetInstanceScreenshot API asynchronously
+// api document: https://help.aliyun.com/api/ecs/getinstancescreenshot.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceScreenshotWithChan(request *GetInstanceScreenshotRequest) (<-chan *GetInstanceScreenshotResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceScreenshotResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstanceScreenshot(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceScreenshotWithCallback invokes the ecs.GetInstanceScreenshot API asynchronously
+// api document: https://help.aliyun.com/api/ecs/getinstancescreenshot.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceScreenshotWithCallback(request *GetInstanceScreenshotRequest, callback func(response *GetInstanceScreenshotResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceScreenshotResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstanceScreenshot(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceScreenshotRequest is the request struct for api GetInstanceScreenshot
+type GetInstanceScreenshotRequest struct {
+	*requests.RpcRequest
+}
+
+// GetInstanceScreenshotResponse is the response struct for api GetInstanceScreenshot
+type GetInstanceScreenshotResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	Screenshot string `json:"Screenshot" xml:"Screenshot"`
+}
+
+// CreateGetInstanceScreenshotRequest creates a request to invoke GetInstanceScreenshot API
+func CreateGetInstanceScreenshotRequest() (request *GetInstanceScreenshotRequest) {
+	request = &GetInstanceScreenshotRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "GetInstanceScreenshot", "ecs", "openAPI")
+	return
+}
+
+// CreateGetInstanceScreenshotResponse creates a response to parse from GetInstanceScreenshot response
+func CreateGetInstanceScreenshotResponse() (response *GetInstanceScreenshotResponse) {
+	response = &GetInstanceScreenshotResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/ecs/struct_data_in_describe_recommend_instance_type.go → services/ecs/struct_data.go

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

+ 28 - 0
services/ecs/struct_event.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.
+
+// Event is a nested struct in ecs response
+type Event struct {
+	ResourceId    string `json:"ResourceId" xml:"ResourceId"`
+	EventType     string `json:"EventType" xml:"EventType"`
+	EventCategory string `json:"EventCategory" xml:"EventCategory"`
+	Status        string `json:"Status" xml:"Status"`
+	SupportModify string `json:"SupportModify" xml:"SupportModify"`
+	PlanTime      string `json:"PlanTime" xml:"PlanTime"`
+	ExpireTime    string `json:"ExpireTime" xml:"ExpireTime"`
+	EventId       string `json:"EventId" xml:"EventId"`
+}

+ 1 - 8
services/ecs/struct_events.go

@@ -17,12 +17,5 @@ package ecs
 
 // Events is a nested struct in ecs response
 type Events struct {
-	ResourceId    string `json:"ResourceId" xml:"ResourceId"`
-	EventType     string `json:"EventType" xml:"EventType"`
-	EventCategory string `json:"EventCategory" xml:"EventCategory"`
-	Status        string `json:"Status" xml:"Status"`
-	SupportModify string `json:"SupportModify" xml:"SupportModify"`
-	PlanTime      string `json:"PlanTime" xml:"PlanTime"`
-	ExpireTime    string `json:"ExpireTime" xml:"ExpireTime"`
-	EventId       string `json:"EventId" xml:"EventId"`
+	Event []Event `json:"Event" xml:"Event"`
 }

+ 26 - 0
services/ecs/struct_network_interface_permission.go

@@ -0,0 +1,26 @@
+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.
+
+// NetworkInterfacePermission is a nested struct in ecs response
+type NetworkInterfacePermission struct {
+	Permission                   string `json:"Permission" xml:"Permission"`
+	AccountId                    int    `json:"AccountId" xml:"AccountId"`
+	NetworkInterfaceId           string `json:"NetworkInterfaceId" xml:"NetworkInterfaceId"`
+	ServiceName                  string `json:"ServiceName" xml:"ServiceName"`
+	NetworkInterfacePermissionId string `json:"NetworkInterfacePermissionId" xml:"NetworkInterfacePermissionId"`
+	PermissionState              string `json:"PermissionState" xml:"PermissionState"`
+}

+ 3 - 3
services/ecs/struct_data_in_describe_events.go → services/ecs/struct_network_interface_permissions.go

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