-
Notifications
You must be signed in to change notification settings - Fork 273
/
set_scheduler_info.go
140 lines (126 loc) · 5.14 KB
/
set_scheduler_info.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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"
)
// SetSchedulerInfo invokes the ehpc.SetSchedulerInfo API synchronously
func (client *Client) SetSchedulerInfo(request *SetSchedulerInfoRequest) (response *SetSchedulerInfoResponse, err error) {
response = CreateSetSchedulerInfoResponse()
err = client.DoAction(request, response)
return
}
// SetSchedulerInfoWithChan invokes the ehpc.SetSchedulerInfo API asynchronously
func (client *Client) SetSchedulerInfoWithChan(request *SetSchedulerInfoRequest) (<-chan *SetSchedulerInfoResponse, <-chan error) {
responseChan := make(chan *SetSchedulerInfoResponse, 1)
errChan := make(chan error, 1)
err := client.AddAsyncTask(func() {
defer close(responseChan)
defer close(errChan)
response, err := client.SetSchedulerInfo(request)
if err != nil {
errChan <- err
} else {
responseChan <- response
}
})
if err != nil {
errChan <- err
close(responseChan)
close(errChan)
}
return responseChan, errChan
}
// SetSchedulerInfoWithCallback invokes the ehpc.SetSchedulerInfo API asynchronously
func (client *Client) SetSchedulerInfoWithCallback(request *SetSchedulerInfoRequest, callback func(response *SetSchedulerInfoResponse, err error)) <-chan int {
result := make(chan int, 1)
err := client.AddAsyncTask(func() {
var response *SetSchedulerInfoResponse
var err error
defer close(result)
response, err = client.SetSchedulerInfo(request)
callback(response, err)
result <- 1
})
if err != nil {
defer close(result)
callback(nil, err)
result <- 0
}
return result
}
// SetSchedulerInfoRequest is the request struct for api SetSchedulerInfo
type SetSchedulerInfoRequest struct {
*requests.RpcRequest
SlurmInfo *[]SetSchedulerInfoSlurmInfo `position:"Query" name:"SlurmInfo" type:"Repeated"`
ClusterId string `position:"Query" name:"ClusterId"`
Scheduler *[]SetSchedulerInfoScheduler `position:"Query" name:"Scheduler" type:"Repeated"`
PbsInfo *[]SetSchedulerInfoPbsInfo `position:"Query" name:"PbsInfo" type:"Repeated"`
}
// SetSchedulerInfoSlurmInfo is a repeated param struct in SetSchedulerInfoRequest
type SetSchedulerInfoSlurmInfo struct {
SchedInterval string `name:"SchedInterval"`
BackfillInterval string `name:"BackfillInterval"`
}
// SetSchedulerInfoScheduler is a repeated param struct in SetSchedulerInfoRequest
type SetSchedulerInfoScheduler struct {
SchedName string `name:"SchedName"`
}
// SetSchedulerInfoPbsInfo is a repeated param struct in SetSchedulerInfoRequest
type SetSchedulerInfoPbsInfo struct {
SchedInterval string `name:"SchedInterval"`
SchedMaxJobs string `name:"SchedMaxJobs"`
AclLimit *[]SetSchedulerInfoPbsInfoAclLimit `name:"AclLimit" type:"Repeated"`
ResourceLimit *[]SetSchedulerInfoPbsInfoResourceLimit `name:"ResourceLimit" type:"Repeated"`
SchedMaxQueuedJobs string `name:"SchedMaxQueuedJobs"`
JobHistoryDuration string `name:"JobHistoryDuration"`
}
// SetSchedulerInfoPbsInfoAclLimit is a repeated param struct in SetSchedulerInfoRequest
type SetSchedulerInfoPbsInfoAclLimit struct {
AclUsers string `name:"AclUsers"`
Queue string `name:"Queue"`
}
// SetSchedulerInfoPbsInfoResourceLimit is a repeated param struct in SetSchedulerInfoRequest
type SetSchedulerInfoPbsInfoResourceLimit struct {
MaxJobs string `name:"MaxJobs"`
Nodes string `name:"Nodes"`
Mem string `name:"Mem"`
Cpus string `name:"Cpus"`
User string `name:"User"`
Queue string `name:"Queue"`
}
// SetSchedulerInfoResponse is the response struct for api SetSchedulerInfo
type SetSchedulerInfoResponse struct {
*responses.BaseResponse
Message string `json:"Message" xml:"Message"`
RequestId string `json:"RequestId" xml:"RequestId"`
}
// CreateSetSchedulerInfoRequest creates a request to invoke SetSchedulerInfo API
func CreateSetSchedulerInfoRequest() (request *SetSchedulerInfoRequest) {
request = &SetSchedulerInfoRequest{
RpcRequest: &requests.RpcRequest{},
}
request.InitWithApiInfo("EHPC", "2018-04-12", "SetSchedulerInfo", "", "")
request.Method = requests.GET
return
}
// CreateSetSchedulerInfoResponse creates a response to parse from SetSchedulerInfo response
func CreateSetSchedulerInfoResponse() (response *SetSchedulerInfoResponse) {
response = &SetSchedulerInfoResponse{
BaseResponse: &responses.BaseResponse{},
}
return
}