-
Notifications
You must be signed in to change notification settings - Fork 247
/
schedule.go
140 lines (118 loc) · 3.75 KB
/
schedule.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 ess
import "github.com/denverdino/aliyungo/common"
type RecurrenceType string
const (
Daily = RecurrenceType("Daily")
Weekly = RecurrenceType("Weekly")
Monthly = RecurrenceType("Monthly")
)
type CreateScheduledTaskArgs struct {
RegionId common.Region
ScheduledAction string
LaunchTime string
ScheduledTaskName string
Description string
LaunchExpirationTime int
RecurrenceType RecurrenceType
RecurrenceValue string
RecurrenceEndTime string
TaskEnabled bool
}
type CreateScheduledTaskResponse struct {
common.Response
ScheduledTaskId string
}
// CreateScheduledTask create schedule task
//
// You can read doc at https://help.aliyun.com/document_detail/25957.html?spm=5176.doc25950.6.638.FfQ0BR
func (client *Client) CreateScheduledTask(args *CreateScheduledTaskArgs) (resp *CreateScheduledTaskResponse, err error) {
response := CreateScheduledTaskResponse{}
err = client.Invoke("CreateScheduledTask", args, &response)
if err != nil {
return nil, err
}
return &response, nil
}
type ModifyScheduledTaskArgs struct {
RegionId common.Region
ScheduledTaskId string
ScheduledAction string
LaunchTime string
ScheduledTaskName string
Description string
LaunchExpirationTime int
RecurrenceType RecurrenceType
RecurrenceValue string
RecurrenceEndTime string
TaskEnabled bool
}
type ModifyScheduledTaskResponse struct {
common.Response
}
// ModifyScheduledTask modify schedule task
//
// You can read doc at https://help.aliyun.com/document_detail/25958.html?spm=5176.doc25957.6.639.rgxQ1c
func (client *Client) ModifyScheduledTask(args *ModifyScheduledTaskArgs) (resp *ModifyScheduledTaskResponse, err error) {
response := ModifyScheduledTaskResponse{}
err = client.Invoke("ModifyScheduledTask", args, &response)
if err != nil {
return nil, err
}
return &response, nil
}
type DescribeScheduledTasksArgs struct {
RegionId common.Region
ScheduledTaskId common.FlattenArray
ScheduledTaskName common.FlattenArray
ScheduledAction common.FlattenArray
common.Pagination
}
type DescribeScheduledTasksResponse struct {
common.Response
common.PaginationResult
ScheduledTasks struct {
ScheduledTask []ScheduledTaskItemType
}
}
type ScheduledTaskItemType struct {
ScheduledTaskId string
ScheduledTaskName string
Description string
ScheduledAction string
LaunchTime string
RecurrenceType string
RecurrenceValue string
RecurrenceEndTime string
LaunchExpirationTime int
TaskEnabled bool
}
// DescribeScheduledTasks describes scaling tasks
//
// You can read doc at https://help.aliyun.com/document_detail/25959.html?spm=5176.doc25958.6.640.cLccdR
func (client *Client) DescribeScheduledTasks(args *DescribeScheduledTasksArgs) (tasks []ScheduledTaskItemType, pagination *common.PaginationResult, err error) {
args.Validate()
response := DescribeScheduledTasksResponse{}
err = client.InvokeByFlattenMethod("DescribeScheduledTasks", args, &response)
if err == nil {
return response.ScheduledTasks.ScheduledTask, &response.PaginationResult, nil
}
return nil, nil, err
}
type DeleteScheduledTaskArgs struct {
RegionId common.Region
ScheduledTaskId string
}
type DeleteScheduledTaskResponse struct {
common.Response
}
// DeleteScheduledTask delete schedule task
//
// You can read doc at https://help.aliyun.com/document_detail/25960.html?spm=5176.doc25959.6.641.aGdNuW
func (client *Client) DeleteScheduledTask(args *DeleteScheduledTaskArgs) (resp *DeleteScheduledTaskResponse, err error) {
response := DeleteScheduledTaskResponse{}
err = client.Invoke("DeleteScheduledTask", args, &response)
if err != nil {
return nil, err
}
return &response, nil
}