浏览代码

ECS SDK Auto Released By licheng.lj,Version:1.42.4

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 年之前
父节点
当前提交
1fbf35bae6
共有 3 个文件被更改,包括 117 次插入5 次删除
  1. 3 0
      ChangeLog.txt
  2. 108 0
      services/ecs/redeploy_instance.go
  3. 6 5
      services/ecs/struct_route_table.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2018-11-28 Version: 1.42.4
+1, Add RedeployInstance interface, and support to migrate ecs instance with specified maintenance events actively
+
 2018-11-27 Version: 1.42.3
 1, ConvertOfficeFormat support TgtFilePrefix, TgtFileSuffix, TgtFilePages, FitToPagesTall, FitToPagesWide
 

+ 108 - 0
services/ecs/redeploy_instance.go

@@ -0,0 +1,108 @@
+package ecs
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RedeployInstance invokes the ecs.RedeployInstance API synchronously
+// api document: https://help.aliyun.com/api/ecs/redeployinstance.html
+func (client *Client) RedeployInstance(request *RedeployInstanceRequest) (response *RedeployInstanceResponse, err error) {
+	response = CreateRedeployInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RedeployInstanceWithChan invokes the ecs.RedeployInstance API asynchronously
+// api document: https://help.aliyun.com/api/ecs/redeployinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RedeployInstanceWithChan(request *RedeployInstanceRequest) (<-chan *RedeployInstanceResponse, <-chan error) {
+	responseChan := make(chan *RedeployInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RedeployInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RedeployInstanceWithCallback invokes the ecs.RedeployInstance API asynchronously
+// api document: https://help.aliyun.com/api/ecs/redeployinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RedeployInstanceWithCallback(request *RedeployInstanceRequest, callback func(response *RedeployInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RedeployInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RedeployInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RedeployInstanceRequest is the request struct for api RedeployInstance
+type RedeployInstanceRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ForceStop            requests.Boolean `position:"Query" name:"ForceStop"`
+	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"`
+}
+
+// RedeployInstanceResponse is the response struct for api RedeployInstance
+type RedeployInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRedeployInstanceRequest creates a request to invoke RedeployInstance API
+func CreateRedeployInstanceRequest() (request *RedeployInstanceRequest) {
+	request = &RedeployInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "RedeployInstance", "ecs", "openAPI")
+	return
+}
+
+// CreateRedeployInstanceResponse creates a response to parse from RedeployInstance response
+func CreateRedeployInstanceResponse() (response *RedeployInstanceResponse) {
+	response = &RedeployInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 5
services/ecs/struct_route_table.go

@@ -17,9 +17,10 @@ package ecs
 
 // RouteTable is a nested struct in ecs response
 type RouteTable struct {
-	VRouterId      string      `json:"VRouterId" xml:"VRouterId"`
-	RouteTableId   string      `json:"RouteTableId" xml:"RouteTableId"`
-	RouteTableType string      `json:"RouteTableType" xml:"RouteTableType"`
-	CreationTime   string      `json:"CreationTime" xml:"CreationTime"`
-	RouteEntrys    RouteEntrys `json:"RouteEntrys" xml:"RouteEntrys"`
+	VRouterId       string      `json:"VRouterId" xml:"VRouterId"`
+	RouteTableId    string      `json:"RouteTableId" xml:"RouteTableId"`
+	RouteTableType  string      `json:"RouteTableType" xml:"RouteTableType"`
+	CreationTime    string      `json:"CreationTime" xml:"CreationTime"`
+	ResourceGroupId string      `json:"ResourceGroupId" xml:"ResourceGroupId"`
+	RouteEntrys     RouteEntrys `json:"RouteEntrys" xml:"RouteEntrys"`
 }