Browse Source

EHPC SDK Auto Released By qianzheng.llc,Version:1.31.0

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 years ago
parent
commit
e61479d822

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2018-09-27 Version: 1.31.0
+1, Add new API ListQueues, modify API SetAutoScaleConfig to support queue related features.
+
 2018-09-27 Version: 1.30.8
 1, modify getFaces Api
 

+ 1 - 0
services/ehpc/add_nodes.go

@@ -82,6 +82,7 @@ type AddNodesRequest struct {
 	Count                 requests.Integer `position:"Query" name:"Count"`
 	ClusterId             string           `position:"Query" name:"ClusterId"`
 	ComputeSpotStrategy   string           `position:"Query" name:"ComputeSpotStrategy"`
+	JobQueue              string           `position:"Query" name:"JobQueue"`
 	ImageOwnerAlias       string           `position:"Query" name:"ImageOwnerAlias"`
 	PeriodUnit            string           `position:"Query" name:"PeriodUnit"`
 	AutoRenew             string           `position:"Query" name:"AutoRenew"`

+ 1 - 0
services/ehpc/create_cluster.go

@@ -86,6 +86,7 @@ type CreateClusterRequest struct {
 	KeyPairName                 string                            `position:"Query" name:"KeyPairName"`
 	SecurityGroupName           string                            `position:"Query" name:"SecurityGroupName"`
 	EcsOrderComputeInstanceType string                            `position:"Query" name:"EcsOrder.Compute.InstanceType"`
+	JobQueue                    string                            `position:"Query" name:"JobQueue"`
 	ImageOwnerAlias             string                            `position:"Query" name:"ImageOwnerAlias"`
 	VolumeType                  string                            `position:"Query" name:"VolumeType"`
 	DeployMode                  string                            `position:"Query" name:"DeployMode"`

+ 17 - 16
services/ehpc/get_auto_scale_config.go

@@ -82,22 +82,23 @@ type GetAutoScaleConfigRequest struct {
 // GetAutoScaleConfigResponse is the response struct for api GetAutoScaleConfig
 type GetAutoScaleConfigResponse struct {
 	*responses.BaseResponse
-	RequestId               string `json:"RequestId" xml:"RequestId"`
-	Uid                     string `json:"Uid" xml:"Uid"`
-	ClusterId               string `json:"ClusterId" xml:"ClusterId"`
-	ClusterType             string `json:"ClusterType" xml:"ClusterType"`
-	EnableAutoGrow          bool   `json:"EnableAutoGrow" xml:"EnableAutoGrow"`
-	EnableAutoShrink        bool   `json:"EnableAutoShrink" xml:"EnableAutoShrink"`
-	GrowIntervalInMinutes   int    `json:"GrowIntervalInMinutes" xml:"GrowIntervalInMinutes"`
-	ShrinkIntervalInMinutes int    `json:"ShrinkIntervalInMinutes" xml:"ShrinkIntervalInMinutes"`
-	ShrinkIdleTimes         int    `json:"ShrinkIdleTimes" xml:"ShrinkIdleTimes"`
-	GrowTimeoutInMinutes    int    `json:"GrowTimeoutInMinutes" xml:"GrowTimeoutInMinutes"`
-	ExtraNodesGrowRatio     int    `json:"ExtraNodesGrowRatio" xml:"ExtraNodesGrowRatio"`
-	GrowRatio               int    `json:"GrowRatio" xml:"GrowRatio"`
-	MaxNodesInCluster       int    `json:"MaxNodesInCluster" xml:"MaxNodesInCluster"`
-	ExcludeNodes            string `json:"ExcludeNodes" xml:"ExcludeNodes"`
-	SpotStrategy            string `json:"SpotStrategy" xml:"SpotStrategy"`
-	SpotPriceLimit          string `json:"SpotPriceLimit" xml:"SpotPriceLimit"`
+	RequestId               string                     `json:"RequestId" xml:"RequestId"`
+	Uid                     string                     `json:"Uid" xml:"Uid"`
+	ClusterId               string                     `json:"ClusterId" xml:"ClusterId"`
+	ClusterType             string                     `json:"ClusterType" xml:"ClusterType"`
+	EnableAutoGrow          bool                       `json:"EnableAutoGrow" xml:"EnableAutoGrow"`
+	EnableAutoShrink        bool                       `json:"EnableAutoShrink" xml:"EnableAutoShrink"`
+	GrowIntervalInMinutes   int                        `json:"GrowIntervalInMinutes" xml:"GrowIntervalInMinutes"`
+	ShrinkIntervalInMinutes int                        `json:"ShrinkIntervalInMinutes" xml:"ShrinkIntervalInMinutes"`
+	ShrinkIdleTimes         int                        `json:"ShrinkIdleTimes" xml:"ShrinkIdleTimes"`
+	GrowTimeoutInMinutes    int                        `json:"GrowTimeoutInMinutes" xml:"GrowTimeoutInMinutes"`
+	ExtraNodesGrowRatio     int                        `json:"ExtraNodesGrowRatio" xml:"ExtraNodesGrowRatio"`
+	GrowRatio               int                        `json:"GrowRatio" xml:"GrowRatio"`
+	MaxNodesInCluster       int                        `json:"MaxNodesInCluster" xml:"MaxNodesInCluster"`
+	ExcludeNodes            string                     `json:"ExcludeNodes" xml:"ExcludeNodes"`
+	SpotStrategy            string                     `json:"SpotStrategy" xml:"SpotStrategy"`
+	SpotPriceLimit          float64                    `json:"SpotPriceLimit" xml:"SpotPriceLimit"`
+	Queues                  QueuesInGetAutoScaleConfig `json:"Queues" xml:"Queues"`
 }
 
 // CreateGetAutoScaleConfigRequest creates a request to invoke GetAutoScaleConfig API

+ 104 - 0
services/ehpc/list_queues.go

@@ -0,0 +1,104 @@
+package ehpc
+
+//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"
+)
+
+// ListQueues invokes the ehpc.ListQueues API synchronously
+// api document: https://help.aliyun.com/api/ehpc/listqueues.html
+func (client *Client) ListQueues(request *ListQueuesRequest) (response *ListQueuesResponse, err error) {
+	response = CreateListQueuesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListQueuesWithChan invokes the ehpc.ListQueues API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listqueues.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListQueuesWithChan(request *ListQueuesRequest) (<-chan *ListQueuesResponse, <-chan error) {
+	responseChan := make(chan *ListQueuesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListQueues(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListQueuesWithCallback invokes the ehpc.ListQueues API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listqueues.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListQueuesWithCallback(request *ListQueuesRequest, callback func(response *ListQueuesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListQueuesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListQueues(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListQueuesRequest is the request struct for api ListQueues
+type ListQueuesRequest struct {
+	*requests.RpcRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+// ListQueuesResponse is the response struct for api ListQueues
+type ListQueuesResponse struct {
+	*responses.BaseResponse
+	RequestId string             `json:"RequestId" xml:"RequestId"`
+	Queues    QueuesInListQueues `json:"Queues" xml:"Queues"`
+}
+
+// CreateListQueuesRequest creates a request to invoke ListQueues API
+func CreateListQueuesRequest() (request *ListQueuesRequest) {
+	request = &ListQueuesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "ListQueues", "ehs", "openAPI")
+	return
+}
+
+// CreateListQueuesResponse creates a response to parse from ListQueues response
+func CreateListQueuesResponse() (response *ListQueuesResponse) {
+	response = &ListQueuesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 22 - 13
services/ehpc/set_auto_scale_config.go

@@ -76,19 +76,28 @@ func (client *Client) SetAutoScaleConfigWithCallback(request *SetAutoScaleConfig
 // SetAutoScaleConfigRequest is the request struct for api SetAutoScaleConfig
 type SetAutoScaleConfigRequest struct {
 	*requests.RpcRequest
-	ShrinkIdleTimes         requests.Integer `position:"Query" name:"ShrinkIdleTimes"`
-	GrowTimeoutInMinutes    requests.Integer `position:"Query" name:"GrowTimeoutInMinutes"`
-	ClusterId               string           `position:"Query" name:"ClusterId"`
-	EnableAutoGrow          requests.Boolean `position:"Query" name:"EnableAutoGrow"`
-	SpotPriceLimit          string           `position:"Query" name:"SpotPriceLimit"`
-	EnableAutoShrink        requests.Boolean `position:"Query" name:"EnableAutoShrink"`
-	SpotStrategy            string           `position:"Query" name:"SpotStrategy"`
-	MaxNodesInCluster       requests.Integer `position:"Query" name:"MaxNodesInCluster"`
-	ExcludeNodes            string           `position:"Query" name:"ExcludeNodes"`
-	ShrinkIntervalInMinutes requests.Integer `position:"Query" name:"ShrinkIntervalInMinutes"`
-	ExtraNodesGrowRatio     requests.Integer `position:"Query" name:"ExtraNodesGrowRatio"`
-	GrowIntervalInMinutes   requests.Integer `position:"Query" name:"GrowIntervalInMinutes"`
-	GrowRatio               requests.Integer `position:"Query" name:"GrowRatio"`
+	ShrinkIdleTimes         requests.Integer            `position:"Query" name:"ShrinkIdleTimes"`
+	GrowTimeoutInMinutes    requests.Integer            `position:"Query" name:"GrowTimeoutInMinutes"`
+	ClusterId               string                      `position:"Query" name:"ClusterId"`
+	EnableAutoGrow          requests.Boolean            `position:"Query" name:"EnableAutoGrow"`
+	SpotPriceLimit          requests.Float              `position:"Query" name:"SpotPriceLimit"`
+	EnableAutoShrink        requests.Boolean            `position:"Query" name:"EnableAutoShrink"`
+	SpotStrategy            string                      `position:"Query" name:"SpotStrategy"`
+	MaxNodesInCluster       requests.Integer            `position:"Query" name:"MaxNodesInCluster"`
+	ExcludeNodes            string                      `position:"Query" name:"ExcludeNodes"`
+	ShrinkIntervalInMinutes requests.Integer            `position:"Query" name:"ShrinkIntervalInMinutes"`
+	Queues                  *[]SetAutoScaleConfigQueues `position:"Query" name:"Queues"  type:"Repeated"`
+	ExtraNodesGrowRatio     requests.Integer            `position:"Query" name:"ExtraNodesGrowRatio"`
+	GrowIntervalInMinutes   requests.Integer            `position:"Query" name:"GrowIntervalInMinutes"`
+	GrowRatio               requests.Integer            `position:"Query" name:"GrowRatio"`
+}
+
+// SetAutoScaleConfigQueues is a repeated param struct in SetAutoScaleConfigRequest
+type SetAutoScaleConfigQueues struct {
+	SpotStrategy   string `name:"SpotStrategy"`
+	QueueName      string `name:"QueueName"`
+	InstanceType   string `name:"InstanceType"`
+	SpotPriceLimit string `name:"SpotPriceLimit"`
 }
 
 // SetAutoScaleConfigResponse is the response struct for api SetAutoScaleConfig

+ 25 - 0
services/ehpc/struct_queue_info.go

@@ -0,0 +1,25 @@
+package ehpc
+
+//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.
+
+// QueueInfo is a nested struct in ehpc response
+type QueueInfo struct {
+	QueueName      string  `json:"QueueName" xml:"QueueName"`
+	SpotPriceLimit float64 `json:"SpotPriceLimit" xml:"SpotPriceLimit"`
+	InstanceType   string  `json:"InstanceType" xml:"InstanceType"`
+	SpotStrategy   string  `json:"SpotStrategy" xml:"SpotStrategy"`
+	Type           string  `json:"Type" xml:"Type"`
+}

+ 21 - 0
services/ehpc/struct_queues_in_get_auto_scale_config.go

@@ -0,0 +1,21 @@
+package ehpc
+
+//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.
+
+// QueuesInGetAutoScaleConfig is a nested struct in ehpc response
+type QueuesInGetAutoScaleConfig struct {
+	QueueInfo []QueueInfo `json:"QueueInfo" xml:"QueueInfo"`
+}

+ 21 - 0
services/ehpc/struct_queues_in_list_queues.go

@@ -0,0 +1,21 @@
+package ehpc
+
+//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.
+
+// QueuesInListQueues is a nested struct in ehpc response
+type QueuesInListQueues struct {
+	QueueInfo []QueueInfo `json:"QueueInfo" xml:"QueueInfo"`
+}

+ 1 - 0
services/ehpc/submit_job.go

@@ -85,6 +85,7 @@ type SubmitJobRequest struct {
 	ReRunable          requests.Boolean `position:"Query" name:"ReRunable"`
 	Priority           requests.Integer `position:"Query" name:"Priority"`
 	CommandLine        string           `position:"Query" name:"CommandLine"`
+	JobQueue           string           `position:"Query" name:"JobQueue"`
 	ArrayRequest       string           `position:"Query" name:"ArrayRequest"`
 	UnzipCmd           string           `position:"Query" name:"UnzipCmd"`
 	PackagePath        string           `position:"Query" name:"PackagePath"`